2010-07-07 45 views
10

是否可以從代碼設置「版本信息」設置?我想在不使用項目選項對話框的情況下爲「註釋」屬性設置版本編號和值。從代碼中設置Delphi 7項目「版本信息」?

+1

的源代碼,你可以在此詳細一點?你真的**想在編譯後改變你的EXE版本嗎?您的應用程序可能會因爲某些Mallware而感到困惑!或者你想在編譯時只更改一次?或者,也許編譯後立即? – 2010-07-07 13:09:55

+0

我不想在編譯後改變它。我只想在代碼中設置編譯值。 – pantarhei 2010-07-07 14:03:45

回答

4

我會建議使用一個構建工具,像FinalBuilder(我用了很多),它可以根據適當的方案爲你做到這一點。然後你知道構建選項都是你想要的,你的數字會適當增加,你可以做一些事情,比如上傳到FTP站點等等。在我的腳本中,內部版本號從EXE到安裝程序和全部包含在內。

+0

+1,Visual Build Pro也適用於此。 http://www.kinook.com/VisBuildPro/ – 2010-07-07 13:39:26

10

而不是編輯IDE爲您管理的二進制RES文件,您可能會發現維護包含version-info resource的文本RC文件更容易。編寫資源腳本文件,然後將其包含在與這樣的線項目:

{$R resources.res resources.rc} 

你應該刪除從項目的DPR文件{$R *.RES}行,否則你會得到重複的版本資源。不要將您的項目名稱用作自定義資源文件的名稱;該名稱由IDE保留。

IDE管理的資源文件還包含項目圖標,因此您還需要將其包含在資源腳本中。

您可以手動編輯資源腳本,也可以編寫程序對其進行編輯或重新生成它作爲構建步驟之一。

使用文本資源腳本具有附加的副作用,它可以更容易地跟蹤您使用的任何源代碼管理系統(如CVS)中的更改。

+2

+1我們目前在.bdsproj和.res文件中使用版本信息,這是一場噩夢。它使合併麻煩。我們有一個分支創建者,可以更改版本信息並將其復原爲svn,所以這不是問題,但是當我們稍後嘗試合併時,我們會付出沉重的代價。 99%的更改是.bdsproj和.res文件!我們將轉而採用.rc方法。 – 2010-07-07 13:43:47

+3

只需在項目選項中禁用版本信息即可,並且不會出現重複資源錯誤,同時可以設置在默認.res文件中設置的其他數據。 – 2010-07-07 13:59:50

+3

請注意,當您移除{$ * .res}時,您還會丟失項目選項設置的主應用程序圖標,並且需要使用.rc文件自己添加一個。 – 2010-07-07 14:04:47

4

你必須爲此編寫嚮導。退房IOTAProjectOptionsD7IOTA.HLP文件,ToolsAPI單元和this thread

+2

爲什麼downvote?這個答案實際上提供了對於提出的問題的最直接的答案!好的,事實證明這個問題的海報是在其他事情之後,但這個答案不值得爲此付出代價!如果*問題*應該是什麼。 (StackOverflow應該爲這個問題提供兩個排名:1爲問題本身,另一個爲問題提出的程度如何/如何清楚/多麼接近實際問題需要回答等等) – Deltics 2010-07-08 02:11:09

+0

可能我的解決方案*看起來太複雜:-)然而,任一個IDE都獨佔地維護項目資源,或者用戶必須手動完成。這是無縫集成的唯一途徑。 – 2010-07-11 00:53:34

相關問題