Wel*_*Wel 4 delphi delphi-2010 delphi-ide delphi-xe3
我有一个用Delphi 2010制作的软件,它需要在两个不同的部门中使用,它们共享相同的数据和相同的UI,除了隐藏/添加按钮,表单和网格列之类的一些更改.因此,需要具有相同应用程序的两个版本.
在应用程序启动时无法提示用户选择我必须使用单独的EXE的部门.
在Delphi 2010或XE3(将在以后升级)中执行此操作的最佳方法(概念)是什么?是否可以使用不同的exe名称进行编译?
听起来像维护噩梦,所以请考虑其他解决方案,如评论中建议的,如登录或设置文件.
如果你想制作单独的exe,那么你可以使用编译器定义并基于代码中的define in/exclude部分:
添加新配置:

将配置添加到配置中:

在代码中使用define:
{$IFNDEF ADVANCED}
// Remove Event Handler
Button1.OnClick := nil;
// Hide Button
Button1.Visible := False;
{$ENDIF}
Run Code Online (Sandbox Code Playgroud)
我可以想到几个解决方案:
在发布应用程序中提供INI文件(或在客户端计算机上创建注册表项)以指定/确定应用程序所服务的部门.然后通过TIniFile或读取值TRegistry.例如一个INI文件(MyApp.ini):
[选项]
部门=销售
创建程序的快捷方式并使用参数例如"MyApp.exe /sales"或"MyApp.exe /support"(ParamStr(1)将告诉您它是否/sales与/support部门相关)
使用2个单独的项目文件,并在每个项目选项中定义您的Conditionals指令,SALES或者SUPPORT在您的代码中使用{$IFDEF SALES}...{$ENDIF}- 使用此选项,完全重建所有项目单元非常重要.(我有一个预构建脚本,在编译之前删除项目*.dcu文件).
| 归档时间: |
|
| 查看次数: |
293 次 |
| 最近记录: |