Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.04;
Скачать: CL | DM;

Вниз

DLL   Найти похожие ветки 

 
Гарик   (2002-04-06 09:35) [0]

Есть к примеру такая ф-я, определенная в дин. библиотеке так:
function A(a, b: PChar; i: Integer): PChar; stdcall;

Как мне ее динамически подгрузить в свою программу?
Вот такой код не работает:


...
var x: function(a, b: PChar; i: Integer): PChar;
hDLL: THandle;
y: PChar;
...
hDLL := LoadLibrary(_имя библиотеки_);
@x := GetProcAddress(hDLL, "A");
y := x("Test1", "Test2", 10);
...

Когда дебажу DLL, вижу что корректно передается толлько первый параметр, в других либо мусор, либо значение неопределено.
Проблема возникает только в случае подпрограмм, требующим несколько параметров.

Если убрать stdcall в директивах экспорта (по умолчанию Delphi тогда экспортирует как register), все становится нормально, но мне нужна именно такая директива.


 
MBo ©   (2002-04-06 09:44) [1]

var x: function(a, b: PChar; i: Integer): PChar; stdcall;
здесь тоже надо



 
Гарик   (2002-04-06 10:11) [2]

пробовал - в переданных параметрах мусор, а потом еще и ошмбка вылетает :((


 
Гарик   (2002-04-06 10:31) [3]

заработало - не везде добавлял stdcall.
ф-я вызывалась через метод класса, а в самом методе забыл экспортнуть как stdcall.
спасибо.



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

Текущий архив: 2002.07.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
14-9999
Esu
2002-06-04 12:51
2002.07.04
Subj


6-9949
Doom
2002-04-22 00:28
2002.07.04
Добавить к имени файла адрес машины


14-10002
Ricoshet
2002-06-04 11:30
2002.07.04
Поднимаю еще раз этот вопрос!


1-9902
PTE
2002-06-20 20:34
2002.07.04
как я могу найти в программе что по этому адресу 0x77e8f142


1-9836
rival
2002-06-20 19:43
2002.07.04
Возможно ли в TMemo изменить настройки шрифта?