-
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может проще както можно, статейка то старовата, мож уже придумали новое чего?
-
Тут должно быть либо все 32-разрядное, либо 64-разрядное. Межпроцессное взаимодействие - один из выходов, но мешанины лучше не допускать. Если Ваше приложение не занимается обработкой гигабайтов информации в ОЗУ, то особого смысла в 64-разрядности Вы вероятнее всего не найдете. До сих пор очень многие известные программы имеются только в исполнении x86. Другое дело, что 64-разрядная ОС шустрее, чем 32-разрядная. 32-разрядные программы чувствуют себя лучше на 64-разрядной ОС, т.к. каждому процессу выделяется по 2-3ГБ памяти (приятно, особенно если имеется много ОЗУ).
-
> Другое дело, что 64-разрядная ОС шустрее
мифы древней греции?
-
Статейка вполне!
-
> мифы древней греции?
с чего бы миф? имхо, реальность!
-
> QAZ (16.05.12 08:05) [2] > мифы древней греции?
При передачи данных стек редко используется, все через регистры идет, с чего бы ей тормозить?
-
> может проще както можно, статейка то старовата, мож уже > придумали новое чего?
Статейку не читал, но вообще есть WOW64 регистр в FS:[0xC0] через который можно переключать код в 32 битный и 64 битный режим. Можешь поискать в этом направлении, но я бы крайне не советовал, все-же проще требовать нужную разрядность, чем использовать костыли.
|