![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Почему теряется значение переменная?
TeNY © (2004-10-06 19:58:00)Здраствуйте.У меня возник вопрос следующего плана:
Имеется Dll следующего содержания
library bufer;
uses Windows,Messages;
var
SysHook : HHook = 0;
Wnd : Hwnd = 0;
xx:HWND;
function SysMsgProcdbclik(code : integer; wParam : word;lParamt : longint) : longint; stdcall;
begin
CallNextHookEx(SysHook, Code, wParam, lParamt);Wnd := TMsg(Pointer(lParamt)^).hwnd;
end;
procedure RunStopHook(State:Boolean;x:HWND) export; stdcall;
begin
xx:=x;
if state then
SysHook := SetWindowsHookEx(WH_GETMESSAGE,@SysMsgProcdbclik, HInstance, 0);
else
UnhookWindowsHookEx(SysHook);
SysHook := 0;
end;
exports RunStopHook index 1;
end.
так вот проблема вся в том что эти 2 функции не могут обмениватся параметрами
то есть в RunStopHook параметр X передается нормально и сохраняется в XX а
для SysMsgProcdbclik XXравен 0,почему это происходит и как можно это исправить?
Fay (2004-10-06 20:06:00) [21]А где в SysMsgProcdbclik этот XX ?
И кто Вас надоумил использовать гл. переменные в DLL?