Delphi与Windows 2008服务器64位的兼容性

3

我有一个计划,想要在Win2008 Server 64位系统中运行RAD2010编译的应用程序,该应用程序使用Firebird 2.0(32位)作为数据库服务器。请问是否会出现任何问题?还是说可以顺利运行?

4个回答

4

这个没有问题。

如果您可以使用Firebird 2.1(64位服务器版本也可以使用)。

只需使用fbclient.dll(32位版本)即可。


好的,我会先尝试升级Firebird服务器。我会在这里更新状态。谢谢。 - WishKnew

2

我认为它应该可以工作,32位的进程和服务在x64下可以很好地运行。如果您的应用程序需要大量内存,您可以设置LARGE_ADDRESS_AWARE标志,这将使您的应用程序可以访问4GB的地址空间而不是2GB。如果您想要这样做,您需要在.dpr文件中添加一行包含{$SetPEFlags $20}的代码。


好的,我会尝试翻译。谢谢。 - WishKnew

2
我们在Windows 2008 Server上遇到了两个问题,但它们似乎不会对您产生太大的影响:
1.关键部分现在带有调试负载,并且在释放时不会被释放。如果创建很多这样的部分,则应用程序的内存占用量将更大。在大量使用接口或线程时可能会发生。请参见is-the-memory-not-reclaimed-for-delphi-apps-running-on-windows-server-2008-sp1critical-sections-leaking-memory-on-vista-win2008
2.在使用ADO时,当传递ConnectionString时存在内存泄漏(在MS堆栈中)。如果经常关闭并打开传递ConnectionString的连接,则最终会在一段时间后消耗所有内存。

我使用以下代码(使用临界区)-> http://wishknew.multiply.com/journal/item/263/A_Very_Simple_Delphi_Logger在D2008中,这会导致内存泄漏问题吗? - WishKnew

0
唯一的问题是,如果您的应用程序是需要加载到64位进程中的库。
例如: Shell扩展 ISAPI应用程序

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接