使用Delphi 2006有条件地更改应用程序图标
我想生成我的应用程序的两个不同版本,具有基于DEFINE的不同图标.
我成功地根据定义包含了不同的资源文件,但我无法摆脱我项目的默认.res文件中的MAINICON. 我添加了一个资源Version1.rc文件,其中包含以下行: MAINICON icon "resourceiconsVersion1.ico" 但是,如果我尝试使用IDE编译MyProject,我总是会收到以下错误:
我尝试使用资源编辑器编辑MyProject.res并删除MAINICON,但delphi自动似乎重新创建包含图标的文件. 解决方法
由于David Heffernan的评论,我找到了解决方案.我最终得到了以下内容:
>在IDE中,我删除了项目选项下的“包含版本信息”,并删除了项目文件中的{$R * .res}. LANGUAGE LANG_NEUTRAL,SUBLANG_NEUTRAL MAINICON icon "..resourcesiconsversion1.ico" >我在我的项目中添加了一个Resources.pas文件,如下所示: unit Resources; interface implementation {$IFDEF VERSION1} {$R ICON_VERSION1.RES} //from ICON_VERSION1.RC {$ELSE} {$R ICON_VERSION2.RES} //from ICON_VERSION2.RC {$ENDIF} {$R VERSIONINFO.RES} //from VERSIONINFO.RC end. >我修改了现有脚本compile_resources.bat以编译其他资源文件. 现在如果我定义VERSION1,我的应用程序有icon_version1.ico图标,否则icon_version2.ico.一个警告:如果修改了版本信息(或图标),我必须运行compile_resources.bat来反映更改. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |