我正在使用新的Delphi Tokyo 10.2.2,就我而言,我使用的是在运行时加载的包。
即使做一个简单的例子并请求 EXE 仅加载 RTL 单元也会发生运行时错误,仅在Windows XP操作系统上:
无法在动态链接库WS2_32.dll中找到过程入口点inet_ntop。
使用Delphi Tokyo 10.2.1不会发生问题。
任何想法?
我正在使用新的Delphi Tokyo 10.2.2,就我而言,我使用的是在运行时加载的包。
即使做一个简单的例子并请求 EXE 仅加载 RTL 单元也会发生运行时错误,仅在Windows XP操作系统上:
无法在动态链接库WS2_32.dll中找到过程入口点inet_ntop。
使用Delphi Tokyo 10.2.1不会发生问题。
任何想法?
我有一个新的项目代理函数,用于原始 Windows XP 的 WS2_32.dll 的所有导出函数,包括 Windows XP 的 WS2_32.dllinet_pton
中缺少的函数。
它欺骗 Windows XP 应用程序进程认为它inet_pton
可用并且不提示任何错误。
inet_ntop()
在 Windows Vista 中被添加到 Winsock,它在 XP 中不存在。
显然,Embarcadero 在 10.2.2 中向 RTL 添加了新代码,该代码inet_ntop()
静态调用而不是动态调用。10.2.1 中 RTL 中不存在的代码。这就是在 XP 上加载 10.2.2 的 RTL 包时发生错误的原因。
你对此无能为力。如果您必须在 XP 上运行您的应用程序(Embarcadero 在 XE3 中放弃了对它的支持),那么您不能使用 10.2.2 RTL。
全部,
我能够通过创建一个嵌入了所有必要单元的包来解决这个问题。
然后是引用这个单一新包的可执行文件和其他 BPL(模块)。
它在win XP中再次起作用!
谢谢大家的支持