Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.04.08;
Скачать: [xml.tar.bz2];

Вниз

64 битная *.dll   Найти похожие ветки 

 
DeadMeat ©   (2007-03-05 22:29) [0]

Еще раз здравствуйте.
Я уже както задавал вопрос *.dll, подключаемую к MSSQL (с помощью расширенных процедур). Проблема решена. Но вот возникла другая.
Решил проверить на х64 версии MSSQL. И вот тут облом. Моя *.dll вообще не загружается самим SQLем. Догадка: х64 версия "не понимает" х86 версию *.dll.С х86 версией MSSQL (проверял на 2000 и 2005) проблем нет никаких. Ставлю на MSSQL 2005 x64 и все. Не работает. Даже ошибок не выдает, просто не вызывает функции и все.
Прав ли я в своей догадке? И если прав, то как поступить в такой ситуации? Ведь на сколько я знаю, компилятор Delphi не поддерживает "создание" х64 программ. Или есть такие версии?


 
Alex Konshin ©   (2007-03-06 02:38) [1]

Можно попробовать спортировать на GNU Pascal. Вроде говорят, что он умеет компилить в x86_64. FPC вроде тоже обещали сделать, но не знаю, какая там сейчас ситуация.


 
Рамиль ©   (2007-03-06 09:24) [2]


> Прав ли я в своей догадке?

Прав, наверное. Для самой винды ограничения:

Недопустимо сочетание 64-разрядных и 32-разрядных процессов
• 64-разрядные программы не могут загружать и вызывать 32-разрядные компоненты MDAC.
• 64-разрядный Microsoft Internet Explorer не может загружать 32-разрядные элементы ActiveX.
• 64-разрядная оболочка не может загружать 32-разрядные Inproc-расширения оболочки.
• 32-разрядные программы установки приложений не могут загружать и регистрировать 64-разрядные DLL.


 
Piter ©   (2007-03-06 10:04) [3]

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


 
Desdechado ©   (2007-03-06 10:58) [4]

Салазки какие-то наверняка есть. Помнится, в свое время я грузил DLL-32 в EXE-16 и наоборот.


 
DeadMeat ©   (2007-03-07 15:53) [5]

Может ктото еще?
Пока я вижу только одно решение. И то, не факт что получится. FPC. Просто я его еще не видел даже. Но примерно понимаю чего это такое.


 
Stanislav ©   (2007-03-07 15:59) [6]

офтоп:
DeadMeat ©   (05.03.07 22:29)  Производительность заметно повышается на x64 ?


 
Amoeba ©   (2007-03-07 19:22) [7]


> Догадка: х64 версия "не понимает" х86 версию *.dll.

И с какой такой стати они должны понимать друг друга (разумеется, если правильно понял из несовсем внятного вопроса, что MSSQL - 64 битная)


 
DeadMeat ©   (2007-03-09 08:36) [8]


> Stanislav ©   (07.03.07 15:59) [6]

Да черт его знает. По крайней мере памяти больше будет использоваться, насколько я понял. Да и не мне это решать. Сервером не я занимаюсь. Мое дело прикрутить к нему нужную функциональность.


> Amoeba ©   (07.03.07 19:22) [7]

> Решил проверить на х64 версии MSSQL

Верно поняли.

Ну собсна вопрос все еще открыт. Кроме FPC есть ли средства?


 
Рамиль ©   (2007-03-09 12:21) [9]


> Ну собсна вопрос все еще открыт. Кроме FPC есть ли средства?

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


 
DeadMeat ©   (2007-03-12 12:33) [10]

Вообщем спасибо всем.
Скачал FPC, хоть и не самую последнюю версию, но более позднюю под х64 не нашел. Откомпилил. Вроде пока работает.
Смущает только то, что после компиляции в Delphi размер *.dllки составлял 26 кб, а после FPC - 159 кб. Секция uses у меня вообще пустая.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2007.04.08;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.052 c
2-1173945275
niko_
2007-03-15 10:54
2007.04.08
Загрузка в память какой то части файла


2-1174170900
Malik
2007-03-18 01:35
2007.04.08
Excel+Delphi


2-1174045916
Kolan
2007-03-16 14:51
2007.04.08
А AV в модуле rtl100.bpl что значит ? Дубль два.


15-1174140426
бас
2007-03-17 17:07
2007.04.08
соло на басах


6-1161340096
YurikGL
2006-10-20 14:28
2007.04.08
Соединение сам с собой через две сетевых карты.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский