![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как правильно передать параметр функции в DLL-ке. [D6, Win2k]
Chak © (2001-12-19 10:07:00)Передаю одно значение а в функцию приходит совсем другое. Пользуюсь типом PChar. Если кто знает поясните мне, заранее спасибо!
Chak (2001-12-19 14:57:00) [1]=> Алексей Петров
Спасибо ВАМ!!! Хотел кусок кода выслать показать что все у меня в порядке, но копировал и смотрю нет stdcall!!!
дописал и все заработало! Как эт я так даже не знаю, всеравно спасибо, два дня мучался :)))) Спасибо!
Алексей Петров (2001-12-19 13:34:00) [2]Странно, если прототипы полностью совпадают...
Если только в опциях проекта проблема какая - хотя у дельфи соглашения о вызовах по умолчанию не настраиваются :(
Может прототип нарисуешь, что прояснится?
Chak (2001-12-19 13:06:00) [3]Нет DLL-ку сам писал, есть точно!
Алексей Петров (2001-12-19 10:44:00) [4]Тогда похоже, что в dll-ке не используют.
Посмотри, как описано в dll. если не можеш найти описание - попробуй stdcall убрать или заменить на cdecl.
Chak (2001-12-19 10:39:00) [5]Так я ее и использую, в обратном направлении передача параметра идет без проблем, что передаю то и получаю, а вот наоборот ну никак!
Если передаю допустм циифру 8 как Integer то в DLL-ке получаю семизначное число, если как PChar - то в итоге получается чтото типа "$ус". Откуда - немогу понять!
DieHard (2001-12-19 10:28:00) [6]Посмотри в хелпе Calling conventions
Чаще всего при объявлении функции в DLL используется директива stdcall
Chak (2001-12-19 10:24:00) [7]как можна ее проверить, я новичок в Delphi, что именно проверить?
Алексей Петров (2001-12-19 10:19:00) [8]Проверь идентичность соглашений о вызовах