我构建了一个 Lazarus 程序,它现在是 exe 形式。
我可以在两台运行 XP 和 Vista 的计算机上运行它。
但是,还有其他计算机也运行 XP、Vista 和 Win7,但我根本无法让它在它们上运行。
没有错误,什么都没有...其他人也遇到过这个问题吗?
该程序正在连接到我的 LAN 服务器上的 postgres 数据库。
任何解决此问题的想法都非常有值(value)。
新信息:
也许我错了,但这里有一个想法...在开发机器上,当我第一次尝试连接到 postgres 时,我最初遇到了类似 **libpq.dll* not find 的错误。然后设置好路径后就OK了。我现在在想,如果它找不到该库,这就是它无法运行的原因。
如果是这种情况,我的行 Application.OnException:=@CatchErr;
应该捕获错误吗?如果不是,我还应该如何检查这个 dll 或其他任何内容是否丢失?
最佳答案
首先,衷心感谢 Marco 和 MArtyn 提供的宝贵建议和指导,让我开始思考这个奇怪的问题。
事情是这样的......
我安装了 Windows 7 和 XP 的全新副本。和往常一样,它不起作用。
然后我怀疑libpq的老问题,然后我从我的工作操作系统复制了libpq.dll并将其放入应用程序文件夹中。顺便说一句,这台机器没有 Lazarus 或 Postgres。当我执行此操作时,我收到第一条错误消息,指出 msvcr100.dll 丢失。
然后我也复制了它。因此,对于每个错误,复制粘贴循环都会继续,直到我最终将这些文件带到“非工作”状态。
- libpq.dll - 9.2.1.12263 - PosgreSQL 访问库
- msvcr100.dll - 10.0.40219.1 - Microsoft C 运行时库
- ssleay32.dll - 1.0.1.2 - OpenSSL 共享库
- libeay32.dll - 1.0.1.2 OpenSSL 共享库
- libintl.dll - 0.18.1.0 - 适用于 Windows NT/2000/XP/Vista/7 的 LGPLed libintl
一旦这些文件进来,问题就消失了! 现在该程序运行良好:)
感谢您的所有投入!
我现在必须查看上述文件关于其许可证的说明,因为我必须将该应用程序分发给其他用户。但我很高兴至少我们解决了问题。
关于windows - Lazarus 程序是否需要特殊权限才能在 Windows 上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24013815/