2010-12-15 26 views
11

Bắt đầu sử dụng nhiều hệ thống sự kiện xây dựng trong XE, nhưng một điều tôi nhận thấy là tôi không thể thiết lập các sự kiện xây dựng mặc định trong cài đặt dự án mặc định. Có bất kỳ loại workaround/hack/bất cứ điều gì mà có thể làm cho điều này có thể? Tôi đang tìm kiếm CodeGear.Group.Targets và CodeGear.Delphi.Targets trong thư mục bin, nếu điều này thậm chí có thể thực hiện được, đó có phải là nơi tôi nên tìm kiếm không?Delphi XE xây dựng sự kiện .. trên toàn cầu?

Cảm ơn

+1

+1. Tôi cũng rất thích điều này. Mỗi khi tôi xây dựng mọi thứ tôi muốn một .bat để thực thi. Bây giờ tôi phải thêm tập lệnh này vào mọi dự án mới, điều này thật khó chịu. –

+1

Chào mừng bạn đến với StackOverflow, Jen. Thật tốt khi thấy rằng bạn đã có thể đặt một câu hỏi hay và trả lời đúng lần đầu tiên của bạn. :) –

+0

Cảm ơn :) Đã đùa giỡn với nó trong vài ngày rồi, và tất nhiên tôi nghĩ ra một tiếng rưỡi sau khi hỏi về nó lol .. hy vọng Embarcadero sẽ thực hiện một cái gì đó như thế này trong IDE với phiên bản tiếp theo thay vì phải dựa vào một kludge. –

Trả lời

15

Ah ha. Đã trả lời câu hỏi của riêng tôi. (Có một nút delete nơi nào đó? Lol)

tôi đã làm một số thử nghiệm, bổ sung một số dễ dàng để tìm thấy trước và sau xây dựng sự kiện (cụ thể là tung ra trình biên tập registry và notepad ..)

Trong thư mục bin của Delphi có một tệp có tên CodeGear.Delphi.Targets. Bên trong đó, sau khi nhập các phần, tôi đã thêm:

<PropertyGroup> 
    <PreBuildEvent><![CDATA[regedit.exe]]></PreBuildEvent> 
    <PostBuildEvent><![CDATA[notepad.exe $(MSBuildProjectFile)]]></PostBuildEvent> 
</PropertyGroup> 

Khởi động lại IDE và một dự án trống mới thực thi các chương trình đó trước và sau khi xây dựng. Lưu ý rằng chúng không hiển thị trên màn hình cấu hình dự án, nhưng bạn có thể ghi đè lên chúng, phủ nhận bất cứ điều gì đã được đưa vào tệp CodeGear.Delphi.Targets. Giá rẻ, nhưng nó có vẻ như để làm các trick, và bạn vẫn có thể ghi đè nó nếu cần thiết trên một dự án cụ thể. (Chỉ cần đảm bảo quay lại tệp gốc. Tất nhiên)

+3

Trả lời câu hỏi của riêng bạn hoàn toàn tốt đẹp trên SO, nếu bạn tìm ra nó trước khi bất cứ ai khác làm! –

+1

Cho đến nay tôi chỉ hỏi một câu hỏi về SO, sau đó tự trả lời! Nhưng để lại những câu hỏi này trong SO, vì vậy những người khác có thể tìm thấy câu trả lời của bạn. –

1

@Jen Smith: Rất thông minh. Và trong trường hợp ai đó quan tâm đến bây giờ tôi đã sử dụng ý tưởng của bạn để madExcept để vá exe nhị phân như là một phần của một dòng lệnh xây dựng mà không cần phải tùy chỉnh một dự án cụ thể ..:

Đặt sau phần 'Nhập' của CodeGear.Delphi.Targets ..

<PropertyGroup> 
    <PostBuildEvent><![CDATA["$(programFilesx86)\madCollection\madExcept\Tools\madExceptPatch.exe" "$(DCC_ExeOutput)$(MSBuildProjectName).exe" "$(MSBuildProjectDirectory)\$(MSBuildProjectName).mes"]]></PostBuildEvent> 
    </PropertyGroup> 
Các vấn đề liên quan