Конференция "WinAPI" » Загрузить x32 dll из x64 приложения
 
  • vasa777 (14.05.12 22:56) [0]
    Xe2. При компиляции под x32 все работает

    h:=LoadLibrary(pchar(DllFile));
    if h<=0 then Exit;
    showmessage('Loaded');

    при компиляции под x64 все компилится без ошибок, а сообщение не показывается. dll x32.

    Нашел это http://rakafon.blogspot.com/2009/04/32-bit-dll-64-bit.html
    может проще както можно, статейка то старовата, мож уже придумали новое чего?
  • Loginov Dmitry © (15.05.12 00:30) [1]
    Тут должно быть либо все 32-разрядное, либо 64-разрядное. Межпроцессное взаимодействие - один из выходов, но мешанины лучше не допускать. Если Ваше приложение не занимается обработкой гигабайтов информации в ОЗУ, то особого смысла в 64-разрядности Вы вероятнее всего не найдете. До сих пор очень многие известные программы имеются только в исполнении x86.
    Другое дело, что 64-разрядная ОС шустрее, чем 32-разрядная. 32-разрядные программы чувствуют себя лучше на 64-разрядной ОС, т.к. каждому процессу выделяется по 2-3ГБ памяти (приятно, особенно если имеется много ОЗУ).
  • QAZ (16.05.12 08:05) [2]

    > Другое дело, что 64-разрядная ОС шустрее

    мифы древней греции?
  • Дмитрий С © (28.05.12 12:24) [3]
    Статейка вполне!
  • brother © (07.10.12 20:11) [4]
    > мифы древней греции?

    с чего бы миф? имхо, реальность!
  • Rouse_ © (07.10.12 20:36) [5]

    > QAZ   (16.05.12 08:05) [2]
    > мифы древней греции?

    При передачи данных стек редко используется, все через регистры идет, с чего бы ей тормозить?
  • Rouse_ © (07.10.12 20:40) [6]

    > может проще както можно, статейка то старовата, мож уже
    > придумали новое чего?

    Статейку не читал, но вообще есть WOW64 регистр в FS:[0xC0] через который можно переключать код в 32 битный и 64 битный режим. Можешь поискать в этом направлении, но я бы крайне не советовал, все-же проще требовать нужную разрядность, чем использовать костыли.
 
Конференция "WinAPI" » Загрузить x32 dll из x64 приложения
Есть новые Нет новых   [134430   +2][b:0][p:0]