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

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.006 c
4-10050
Asteroid
2002-05-06 16:40
2002.07.04
Как БЫСТРО рисовать пиксели, имея DC?


14-9995
Snake bite
2002-06-02 12:12
2002.07.04
Нароооооод помогите.


4-10062
Andrey-k
2002-04-28 23:02
2002.07.04
DLL, 2 потока и List


1-9920
[BAD]Angel
2002-06-23 12:54
2002.07.04
Люди, помогите ПЛЗ!!!!


4-10064
DiGiTaL
2002-05-07 16:02
2002.07.04
Как узнать под какой операционкой запущено приложение?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский