2013-05-14 4 views
2

Учитывая следующее: У нас есть 32 битную DATASNAP сервер, установленный на 64 BIT Windows ServerКакую midas.dll использовать? 32bit DataSnap/64bit сервер

В Embarcadero \ RAD Studio \ 11,00 \ Redist являются 2 папки: 32 бит и 64 бит, в каждом из которых находится файл midas.dll.

Какой файл мы должны положить где?

В Windows \ system32 или windows \ syswow64?

ответ

4

Никогда не помещайте ничего в системные каталоги Windows (если у вас нет очень, очень и очень веской причины писать там).

Это очень плохая практика (начиная с Windows 3.x раз и с плохими навыками разработчиков, потому что эти dir всегда находятся в пути поиска), просто приводящие к неприятностям (т.е. если другое приложение использует вашу DLL со своими маленькими или нет проверок). Поместите DLL в папку приложения. Это гарантирует, что ваше приложение использует правильную версию DLL. Или если вам нужно написать его в другом месте по очень-очень-очень хорошей причине, используйте один из методов, чтобы добавить каталог в путь поиска или перенаправить загрузку DLL.

Системные каталоги Windows должно быть считаться операционной системой частных. Такие методы, которые Windows не запрещает, - это те, которые часто делают Windows медленной и нестабильной системой.

Если вы являетесь приложением 32 бит, вам понадобится 32-разрядная DLL без операционной системы.

5

На 64 битной системе:

  • Системный каталог 64 бит называется System32.
  • 32-битный системный каталог имеет имя SysWOW64.

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

Поскольку ваш код 32 бит, вам нужно использовать 32-битную DLL.

Однако, вероятно, вы должны поместить DLL в ту же папку, что и ваш исполняемый файл, поскольку системный каталог Windows является закрытым и зарезервированным для использования системой. Приложения не должны изменять системный каталог.

+0

У меня был исполнитель, потребовавший, чтобы midas.dll был загружен для запуска. Я следил за указаниями [здесь] (http://stackoverflow.com/questions/25877533/midas-dll-error-loading-midas- dll), чтобы заставить его работать с небольшими изменениями: regsvr32 C: \ Windows \ Syswow64 \ midas.dll – Chris1804505