Grid++Report报表,传统的发送方式,除了发布程序以外外,还要为客户注册DLL。由于,多数客户已经使用Win10,Win10在注册Dll时,对权限要求比较严,客户自己注册比较困难,使得软件发布,还要上门为客户注册Grid++Report报表的DLL,很不方便。
自Grid++Report报表6.2.2.2版本开始,支持C/S报表免注册DLL报表开发,很方便。同时,也可避免不同版本之间,不兼容的错误,以及不同版本之间的差异。
一、传统的Dll注册
需要在安装过程中对 Grid++Report 的两个发布 DLL 进行注册,必须用 regsvr32.exe 程序进行注册 *** 作,在命令行窗口中,执行 regsvr32 命令。
语法如下:
regsvr32 "%FilePath%gregn6.dll"
regsvr32 "%FilePath%grdes6.dll"
二、6.2.2.2版本后续,免注册DLL 报表开发
1、机制就是通过建立一个与执行EXE文件同名的清单文件(后缀名.manifest),实现Grid++Report发布DLL文件的COM免注册。其原理是,在清单文件中包含有COM组件相关的信息,由它来代替注册表的角色,来指定COM文件路径、COM版本等信息。从而实现直接复制文件发布用Grid++Report开发的软件。
2、免DLL注册发布的优点
(1)发布软件时不需写入系统注册表,安装时不需要管理员权限。
(2)如果一台电脑用了不同版本的Grid++Report,不会发生版本冲突,即避免DLL Hell问题。
(3)实现绿色发布软件,无需制作安装程序(或用 regsvr32 命令注册dll),通过简单的文件复制即可发布软件。
三、有关程序的目录的概念
1、Project directory:例如,D:MyProA1 (项目源文件目录)
2、Output directory:例如,D:Program (EXE输出目录)
注意:通常二个目录相同。
3、Project Name项目名:例如,HLserver,生成的EXE文件名:例如,HLserver.exe
四、建立清单文件XXXX.exe.manifest文件
1、将清单文件“C:Grid++Report 6manifestYourX86.exe.manifest”复制到程序输出的目录Output directory目录中,例如:D:Program
2、将YourX86.exe.manifest,改名:HLserver.exe.manifest
3、使用纯文本编辑器,打开HLserver.exe.manifest文件:
将文本第三行:“YourX86.exe”,改为你的项目EXE文件名“HLserver.exe”:
修改后,保存文件。
4、将Grid++Report 6新版本的二个DLL文件,复制进Output directory:D:Program目录中
5、打开Delphi对项目进行编译,在此项环境下的编程后,程序将读取通过将读取HLserver.exe.manifest文件中,标明的Grid++Report 6注册信息。
6、验证程序,可以使用
(1)取消注册,建立一个DelReg.bat文件,内容如下
regsvr32 /u "C:Grid++Report 6gregn6.dll" regsvr32 /u "C:Grid++Report 6grdes6.dll"
以管理员身份执行。
7、执行你的项目程序,测试打印成功。
你可以发布程序了。通过向服务器远程上传、客户动态下载后,正常使用,特方便。
说明:发布时,一定要将清单文件HLserver.exe.manifest,同版本的gregn6.dll、grdes6.dl文件和项目EXE文件,四个文件一并发布。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)