我正在修改我的Delphi項目,以使用版本信息資源文件而不是在項目文件中存儲版本信息。版本信息資源中的商標符號
我VersionInfo.rc文件:
1 VERSIONINFO
FILEVERSION 1,10,0,999
PRODUCTVERSION 1,10,0,0
FILEOS 0x4
FILETYPE 0x1
{
BLOCK "StringFileInfo"
{
BLOCK "040904E4"
{
VALUE "CompanyName", "Company Inc.\0"
VALUE "FileDescription", "Product\231\0"
VALUE "FileVersion", "1.10.0.999\0"
VALUE "InternalName", "Product\231\0"
VALUE "LegalCopyright", "\251 2016 Company Inc.\0"
VALUE "LegalTrademarks", "Company\231 Product\231\0"
VALUE "ProductName", "Product\231\0"
VALUE "ProductVersion", "1.10\0"
}
}
BLOCK "VarFileInfo"
{
VALUE "Translation", 0x409, 1252
}
}
註冊商標(\ 256)和版權(\ 251)正確的符號在文件的屬性對話框中顯示,但商標(\ 231)不顯示在所有。似乎沒有字符顯示在它的位置,除非它是不可打印的。我也嘗試過直接在資源中使用符號而不是八進制代碼,我看到了相同的行爲。
當商標符號作爲我的項目選項的一部分存儲時,它會正確顯示。
如何在我的資源中插入商標符號?
編輯:附加信息
我使用RAD Studio的10.1柏林,我是從之後的this StackOverflow post答案創建我的資源文件,配置我的項目選項,並在項目中包含源資源使用{$ R'VersionInfo.res''VersionInfo.rc'}。我曾嘗試使用ANSI,UTF-8,UTF-16 BE和LE編碼我的.rc文件,並且商標無法在文件屬性對話框中正確顯示,或者在構建時出現BRCC32錯誤。
我發現this web page建議使用八進制代碼的版權。我在我的VersionInfo.rc文件中嘗試了商標的八進制代碼,並再次看到相同的內容。
我也嘗試使用rc.exe編譯資源,並使用Delphi的「項目」菜單中的「添加到項目...」菜單項將其添加到我的項目中。構建時收到「不支持的16位資源...」錯誤。
你爲什麼要在ANSI中這樣做? –
我不知道!從字面上看,我昨天偶然發現這是一種更好的注入版本信息的方法,我從博客/文章中複製了一個示例文件,並發現另一個網站說八進制代碼必須用於符號。 –
http://stackoverflow.com/questions/12692803/are-resource-files-compiled-as-unicode-or-ansi-code-page –