我正在使用一个旧的 Borland 1999 C++ 客户端\服务器应用程序,我没有它的源代码...不幸的是,没有供应商支持或替代这个应用程序。
这有点令人费解,但应用程序在第一次打开时无法工作。如果关闭并重新打开应用程序,它会正常工作。如果距离上次打开应用程序已过去约 2 分钟...它又会恢复不工作。
该问题很容易重现,但我并不确定下一步该怎么做才能找到根本原因。
我的一些理论包括 DLL 可能在首次启动时未加载、TCP/IP 端口已启动(并在 2 分钟后死亡),或者可能是线程在加载库之前尝试访问某些内容的时间问题...
任何想法都会受到赞赏。这是出于一个非常崇高的事业……该应用程序可确保 12 盎司玻璃瓶的质量控制,以便您可以享受冰镇啤酒。
答案1
这可能是应用程序兼容性设置。您可以尝试以下几种方法。我已尝试了所有这些方法,以使旧版应用程序正常运行。请逐个尝试,看看是否有任何方法有用。
数据执行保护: 右键单击我的电脑,选择属性、高级选项卡、性能设置按钮。在性能选项窗口中,选择数据执行选项卡。单击添加,然后在弹出的对话框中选择可执行文件。单击确定。更多信息请参见这篇 MS 文章还有一些其他选项可以尝试。但我只需要使用上面的设置。
应用程序兼容模式:(链接虽然旧了,但仍然有用)右键单击可执行文件,选择“属性”、“兼容性”选项卡,勾选“以兼容模式运行此程序”。选择您想要的模式。我需要使用它的所有应用程序都可以在 Windows XP Sp3 模式下运行。
Windows 防火墙:关闭它以进行故障排除。如果您的应用程序正常运行,请添加排除项。
UAC:关闭UAC。我知道这在 Windows XP 中没有,但对于更高版本的 Windows 很有用。控制面板、用户帐户、更改用户帐户设置。将滑块一直向下移动。按确定。
您可能需要在客户端 PC 和服务器上执行这些操作。