我build立了一个Lazarus程序,现在以exe的forms。
我可以在运行XP和Vista的两台电脑上运行它。
但是,还有其他电脑运行XP,Vista和Win7,但我不能让它在它们上运行。
没有错误,没有任何…有没有其他人有这个问题?
该程序连接到我的局域网服务器上的postgres数据库。
任何解决这个问题的想法都是值得的。
新信息:
也许我错了,但这是一个想法…在开发机器上,我最初得到一个错误,如** libpq.dll *没有find当我第一次尝试连接到postgres。 然后在设置path之后,它很好。 我在想如果它找不到那个库,那就是为什么它不能运行。
如果是这样的话,应该是我的行Application.OnException:=@CatchErr;
赶上错误? 如果不是,我应该怎么检查这个DLL或其他东西是否丢失?
首先,真诚的,非常感谢Marco和MArtyn的精彩提示和指导方针让我想起了这个奇怪的问题。
这是发生了什么…
我安装了Windows 7和XP的全新副本。 像往常一样,它没有工作。
然后我怀疑libpq的老问题,然后从我的工作操作系统中复制libpq.dll,并将其放在应用程序文件夹中。 顺便说一下这台机器没有拉撒路或Postgres。 当我做到这一点,我得到了我的第一个错误消息,说msvcr100.dll丢失。
然后我也复制了。 所以,复制粘贴的循环继续进行,直到我终于把这些文件带到我的“非工作”。
一旦这些文件进入,问题就没有了! 现在程序工作很好:)
感谢您的所有投入!
我现在必须看看上面的文件有什么关于他们的许可证,因为我必须分发应用程序给其他用户。 但是我很高兴至少我们知道了这个问题。
不,基地拉撒路程序不需要特殊的权限。 当然,这可能是程序中的特定功能需要特殊的权限(如访问1024以下的端口,访问某些路径等)。
另外请注意,从系统认为不安全的源(互联网,某些类型的股份)下载的EXE可能会被默认阻止。 如果是这样的话,如果你在Windows资源管理器中使用.EXE的属性,将会有一个“解锁”按钮。
任何有关的网络当然都需要正确配置防火墙。 查询你的弹出窗口可能并不总是来的,如果有疑问手动配置防火墙。