是否可以從代碼設置「版本信息」設置?我想在不使用項目選項對話框的情況下爲「註釋」屬性設置版本編號和值。從代碼中設置Delphi 7項目「版本信息」?
回答
解決方法是編輯項目資源文件。檢查此C++示例http://www.codeproject.com/KB/cpp/UpdateVersion.aspx
您將需要覆蓋應用程序資源。 很好的出發點是可能XN資源編輯器附帶源代碼http://www.wilsonc.demon.co.uk/d10resourceeditor.htm
值得一讀也Inno Setup的(它設置圖標,可執行輸出) - http://jrsoftware.org/isdl.php
我會建議使用一個構建工具,像FinalBuilder(我用了很多),它可以根據適當的方案爲你做到這一點。然後你知道構建選項都是你想要的,你的數字會適當增加,你可以做一些事情,比如上傳到FTP站點等等。在我的腳本中,內部版本號從EXE到安裝程序和全部包含在內。
+1,Visual Build Pro也適用於此。 http://www.kinook.com/VisBuildPro/ – 2010-07-07 13:39:26
而不是編輯IDE爲您管理的二進制RES文件,您可能會發現維護包含version-info resource的文本RC文件更容易。編寫資源腳本文件,然後將其包含在與這樣的線項目:
{$R resources.res resources.rc}
你應該刪除從項目的DPR文件{$R *.RES}
行,否則你會得到重複的版本資源。不要將您的項目名稱用作自定義資源文件的名稱;該名稱由IDE保留。
IDE管理的資源文件還包含項目圖標,因此您還需要將其包含在資源腳本中。
您可以手動編輯資源腳本,也可以編寫程序對其進行編輯或重新生成它作爲構建步驟之一。
使用文本資源腳本具有附加的副作用,它可以更容易地跟蹤您使用的任何源代碼管理系統(如CVS)中的更改。
+1我們目前在.bdsproj和.res文件中使用版本信息,這是一場噩夢。它使合併麻煩。我們有一個分支創建者,可以更改版本信息並將其復原爲svn,所以這不是問題,但是當我們稍後嘗試合併時,我們會付出沉重的代價。 99%的更改是.bdsproj和.res文件!我們將轉而採用.rc方法。 – 2010-07-07 13:43:47
只需在項目選項中禁用版本信息即可,並且不會出現重複資源錯誤,同時可以設置在默認.res文件中設置的其他數據。 – 2010-07-07 13:59:50
請注意,當您移除{$ * .res}時,您還會丟失項目選項設置的主應用程序圖標,並且需要使用.rc文件自己添加一個。 – 2010-07-07 14:04:47
你必須爲此編寫嚮導。退房IOTAProjectOptions在D7IOTA.HLP文件,ToolsAPI單元和this thread
爲什麼downvote?這個答案實際上提供了對於提出的問題的最直接的答案!好的,事實證明這個問題的海報是在其他事情之後,但這個答案不值得爲此付出代價!如果*問題*應該是什麼。 (StackOverflow應該爲這個問題提供兩個排名:1爲問題本身,另一個爲問題提出的程度如何/如何清楚/多麼接近實際問題需要回答等等) – Deltics 2010-07-08 02:11:09
可能我的解決方案*看起來太複雜:-)然而,任一個IDE都獨佔地維護項目資源,或者用戶必須手動完成。這是無縫集成的唯一途徑。 – 2010-07-11 00:53:34
- 1. 如何手動更改Delphi項目中的版本信息
- 2. 設置EXE版本信息
- 3. 在Windows中設置假版本信息
- 4. 從代碼中讀取項目設置
- 5. 從Delphi 7中的文本文件加載信息
- 6. 在Netbeans 7中爲非項目文件設置PHP版本
- 7. 如何在Delphi應用程序中使用項目版本信息?
- 8. 設置現有.dll的版本信息?
- 9. 從.ABR文件(Photoshop筆刷設置)中讀取版本信息
- 10. 設置WCF客戶端代碼中的消息版本
- 11. xyz項目信息
- 12. 使用Delphi修改另一個delphi程序的版本信息
- 13. 的Windows版本信息
- 14. OTA設置Delphi項目Keys選項
- 15. 與舊版本的Delphi項目
- 16. maven - 設置當前項目版本
- 17. 從jenkins中爲.NET Core項目設置版本號 - CSPROJ
- 18. 我們可以使用較低版本的Delphi(Delphi xe5)從更高版本編輯項目文件(Delphi xe6)
- 19. 無法在jsp中顯示maven項目版本信息
- 20. 如何使用Mercurial在源代碼中嵌入版本信息
- 21. 獲取項目版本信息在MSbuild構建
- 22. 配置沒有任何版本信息 - 假設配置爲版本1.5
- 23. 將項目從Delphi 7遷移到Delphi XE有多難?
- 24. 無法在IExpress中爲Self Extractor設置版本信息
- 25. 如何在Windows 7中爲虛擬目錄設置ASP.NET版本
- 26. 自動更新C++/CLI項目的版本信息
- 27. 項目設置代碼訪問全部
- 28. 從代碼中設置ImageButton文本?
- 29. 從sqlite信息設置textview
- 30. 設置.NET Core項目的版本號 - CSPROJ - 不是JSON項目
的源代碼,你可以在此詳細一點?你真的**想在編譯後改變你的EXE版本嗎?您的應用程序可能會因爲某些Mallware而感到困惑!或者你想在編譯時只更改一次?或者,也許編譯後立即? – 2010-07-07 13:09:55
我不想在編譯後改變它。我只想在代碼中設置編譯值。 – pantarhei 2010-07-07 14:03:45