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

Вниз

Связь c DLL   Найти похожие ветки 

 
Gayrus ©   (2002-09-06 04:31) [0]

Я делаю связь между приложением и DLL: передаю DLL"ке адрес процедуры, но похоже не работает :(, вот код
type
TMesSend=Procedure(const Wnd:hWnd;Mess:Cardinal;wParam,LParam:Integer);
PMesSend=^TMesSend;
...
var toProc:PMesSend;
...
procedure RunHook(SendTo:PMesSend;Mess:Cardinal);export;stdcall;
ToProc:=SendTo; // параметр передаваемый в DLL - @HookForProg
...
toProc^(hwnd,message,wParam,LParam);

Основная программа:

Procedure HookForProg(const Wnd:hWnd;Mess:Cardinal;wParam,LParam:Integer);
begin
...
end;
...
RunHook(@HookForProg,WH_GETMESSAGE);

Скажите где ошибка или дайте пример со ссылкой на процеду через память.


 
Dimk   (2002-09-06 09:22) [1]

Помоему ты с указателями перемудрил.
TMesSend - процедурный тип который и так уже указатель на процедуру. Таким образом вызов ToProc^ как мне кажется конечно соответствует типу формального параметра - но на деле
@HookForProg не является PMesSend а является TMesSend.
Поэтому если я не ошибаюсь - надо сделать
toProс(hwnd,message,wParam,LParam);





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

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

Наверх




Память: 0.46 MB
Время: 0.016 c
14-50956
^Sanya
2002-08-22 01:45
2002.09.16
QuickLaunch in WinXP


1-50707
Yuri Btr
2002-09-03 11:24
2002.09.16
Как работать с невизуальным TListItems


4-51045
MetalFan
2002-07-23 13:35
2002.09.16
Помогите разобраться c WM_LMOUSEDOWN


7-50998
Goleg
2002-06-27 19:27
2002.09.16
Помогите разобраться с прогой использующей модем


6-50883
Хусга
2002-07-02 21:41
2002.09.16
Как принять сообщение посланое Winpopup`ом или net send`ом ?