Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Странное поведение Dll [D7, WinXP]


-=SS=- ©   (2004-12-15 13:18:00) 

Добрый день.
В проге объявляю
function SetMouseHook(CallbackWindow: THandle;
  idCallBackMessage: LongWord): boolean; external 'm_hook.dll';
в длл-ке
function SetMouseHook(CallbackWindow: THandle;
   idCallBackMessage: LongWord): boolean; stdcall;
Вопрос почему в длл - ке переменная CallbackWindow не имеет то значение которое я передал ей в проге ?


Digitman   (2004-12-16 08:27:00) [1]


> Совсем с этими соглашениями запутался


а что с соглашениями непонятно ?


-=SS=-   (2004-12-15 15:26:00) [2]

Спасибо за ответы .... теперь всё ОК!
Совсем с этими соглашениями запутался ... Убрал в dll stdcall и всё заработало... еще раз спасибо !!!


Digitman   (2004-12-15 13:29:00) [3]


> почему в длл - ке переменная CallbackWindow не имеет то
> значение которое я передал ей в проге ?


как минимум потому что соглашения о вызовах не совпадают : хост-приложение вызывает ф-цию как stdcall, в то время как сама ф-ция в ДЛЛ декларирована без явного указания соглашения (pascal)


MBo   (2004-12-15 13:28:00) [4]

в программе тоже stdcall укажи


Наверх

Титульная страница Поиск, карта сайта Написать письмо