Совместимость Delphi с Windows 2008 Server 64 бит - PullRequest
3 голосов
/ 23 декабря 2009

У меня есть план установки моего приложения, скомпилированного с использованием RAD2010 в Vista, 32-разрядная версия. среда, в Win 2008 сервер 64 бит. Я использую Firebird 2.0 (32 бит) в качестве сервера базы данных.

Есть ли проблема? Или он должен работать без проблем?

Ответы [ 4 ]

4 голосов
/ 23 декабря 2009

Нет проблем для этого.

Если вы можете использовать Firebird 2.1 (можно использовать версию для 64-битного сервера).

Просто возьмите fbclient.dll (32-битная версия)

2 голосов
/ 24 декабря 2009

Мы столкнулись с 2 проблемами с Windows 2008 Server, но, похоже, они не должны слишком сильно на вас влиять:

  1. Критические разделы теперь поставляются с отладочным багажом, который кэшируется и не освобождается при освобождении. Если вы создадите их много, объем памяти вашего приложения будет намного больше. Может случиться при интенсивном использовании интерфейсов или потоков. см. работающие в памяти «неиспользуемые для delphi-приложения-работающие-на-windows-server-2008-sp1 » и «1009 * критические разделы-утечка-памяти-на-видении- Win2008 .

  2. При использовании ADO при передаче ConnectionString происходит утечка памяти (в стеке MS). Если вы закрываете соединения и открываете их много раз, передавая ConnectionString, вы через некоторое время съедаете всю память.

2 голосов
/ 23 декабря 2009

Я не вижу причин, по которым это не должно работать, 32-битные процессы и сервисы хорошо работают под x64. Если вам требуется много памяти для вашего приложения, вы можете установить флаг LARGE_ADDRESS_AWARE, который дает вашему приложению доступ к 4 ГБ адресного пространства вместо 2 ГБ. Если вы хотите, вам нужно добавить строку, содержащую {$SetPEFlags $20}, в файл .dpr.

0 голосов
/ 25 декабря 2009

Единственная проблема в том, что ваше приложение - это библиотека, которую нужно загрузить в 64-битный процесс.

Примеры: Расширения Shell Приложения ISAPI

...