首页 / 知识
关于delphi:在程序启动时获取BPL版本
2023-04-17 12:58:00

Getting BPL Versions at program startup程序启动时,是否可以检查客户端计算机上安装了哪个版本的BPL(即Rtl70.BPL,Indy70.bpl等)?
我有一些程序崩溃,因为该计算机上的BPL与构建计算机上的BPL不同。 Delphi 7,如果有所作为 只是跟进我的问题。
我使用的更新程序忽略了它们,因为它们是相同的(内部版本号没有更改),但是当我手动删除并复制文件时,所有事情似乎都可以正常工作。 很不幸的是,不行。如果崩溃是由于您的应用程序所需的.bpl文件缺少导入而导致的,则无法(仅重写Delphi RTL和链接器本身)无法从崩溃的可执行文件本身中检查这些软件包。 PatrickvL的解决方案可能是最适合您的情况的解决方案。 Neftalí的解决方案可能是一个选择-当然,这是以打包RTL,复制大量文件为代价,并且失去了首先拥有软件包的要点之一。但是,如果使用私有DLL(即,如果将DLL复制到私有二进制文件目录中),则还应创建一个与可执行文件同名的空文件,但在文件后附加扩展名.local,例如记事本。 .exe,您将创建一个notepad.exe.local。有关更多详细信息,请参见Raymond Chen的DLL重定向文章。 如果程序崩溃,则可能是因为它无法加载与其动态链接的库。 (正如您所说,当系统无法在搜索路径中的任何位置找到所需的库的副本时,就会发生这种情况)。 问题是,这是在应用程序启动时发生的,Windows操作系统通过称为MapAndLoad的API来执行此操作(也请阅读此内容)。甚至在您的应用程序启动之前就调用了此API,因此我看不到拦截它的方法。
我可以提出的一个建议是使用启动器(必须静态链接,以防止根本没有/ no /库的问题)。 您不能从使用这些bpl的可执行文件中执行此操作,但是可以有一个小的启动程序来检查bpl,然后调用主可执行文件。
您必须将BPL的副本(RTL70.bpl,INDY.BPL等)安装(开发)到安装应用程序的同一目录中。您的应用程序首先在同一目录中搜索BPL,然后在路径内的目录中搜索。 问候。 P.D:对不起,我的英语不好。
有时Delphi会自动添加行: 注释(//)该行,然后再次编译。 |
最新内容
相关内容
检查linux服务器命令?
检查linux服务器命令?,系统,信息,状态,情况,时间,工具,网络,环境,服务,电脑,如何查看linux服务器的版本和配置信息?1、登录到linux服务器执行llinux同步客户端命令?
linux同步客户端命令?,时间,网络,服务,系统,认证,状态,管理,信息,分析,地址,linux中的rsync同步怎么配置1、至此,设置 ssh 认证完毕。设置 rsyn重启计算机命令linux?
重启计算机命令linux?,系统,工作,命令,服务,标准,设备,灵活,首要,意义,参数,Linux的重启命令有哪些1、在linux下一些常用的关机/重启命令有shulinux计算机的命令?
linux计算机的命令?,系统,工作,信息,设备,技术,命令,网站,管理,灵活,基础,linux查看路径命令linux命令如果记不得,可以使用man命令来查看某个命linux检查硬盘的命令?
linux检查硬盘的命令?,系统,信息,检测,情况,命令,工具,电脑,地址,设备,硬盘,linux查看磁盘空间命令查看磁盘空间-du du命令也是检查硬盘使用情linux用计算器的命令?
linux用计算器的命令?,代码,环境,情况,异常,工具,数据,位置,平台,精密,设计,求在linux环境下用QT编写一个非常简单的计算器计算器包括加,减,乘linux检查挂载命令?
linux检查挂载命令?,设备,系统,信息,情况,状态,服务,软件,命令,磁盘,网络,linux查看nas挂载路径1、可以通过以下命令来查看主机是否使用NAS盘:linux命令测试客户端?
linux命令测试客户端?,地址,系统,网络,工具,工作,分析,环境,命令,下行,资料,linux测试网速的工具1、speedtest-cli是一个用Python编写的轻量级linux的数学计算命令?
linux的数学计算命令?,工作,系统,信息,地址,数字,目录,命令,百分比,情况,管理,linux的shell脚本编程,求两数字间所有偶数的和,我是小白,不太懂linux一般检查命令?
linux一般检查命令?,网络,系统,检测,情况,工作,信息,命令,进程,时间,设备,linux查看进程命令linux 下查看进程可以使用的命令:ps命令查找与进程检查硬件linux命令?
检查硬件linux命令?,信息,系统,第一,数据,设备,检测,命令,情况,灵活,实时,如何查看linux系统CPU信息这里我先介绍一个文件。它就是/proc目录文linux云计算查看命令?
linux云计算查看命令?,系统,信息,地址,工作,命令,情况,标准,服务,软件,网络,linux常用命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出