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

Вниз

Опять НООКи   Найти похожие ветки 

 
anod ©   (2003-05-31 07:02) [0]

Я создаю хук локальный и при обработке процедуры, если вызывать функции (правда не все), то вылетает приложение с ошибкой;

function TMyTrackBar.MouseProc(nCode: Integer; wParam: Longint; var MHS: TMouseHookStruct): Longint; stdcall;
var r:Trect;
begin
Result := CallNextHookEx(MouseHook, nCode, wParam, Longint(@MHS));
GetWindowRect(FParentWnd, r); //Например так или
text:=IntToStr(MHS.pt.X); //Здесь тоже, а вот здесь
text:=IntToStr(Mouse.CursorPos.X);// не вылетает
end;


???


 
Cobalt ©   (2003-05-31 10:17) [1]

Функция-хук не должна быть членом класса. Т.е. её надо описывать отдельно от класса.


 
anod ©   (2003-05-31 18:38) [2]

А как мне вызывать функции класса?


 
Song ©   (2003-06-01 10:44) [3]

Не надо TMyTrackBar


 
Vovchik   (2003-06-01 17:54) [4]

Cobalt, ф-ции класса вызывать из другой нити напрямую - не есть корректно. Для этого надо (например) посылать сообщение своей форме из нити, что вот такое-то событие произошло. Тогда форма уже и будет вызывать свои методы.
Можешь посмотреть как сделан метод Synchronize в дельфийном TThread.



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

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

Наверх




Память: 0.47 MB
Время: 0.04 c
3-10134
Tahion2
2003-07-15 12:17
2003.08.04
Что лучше: dbExpress, SQLlite, VolgaDB, EasyTable???


1-10202
hawkins
2003-07-23 11:16
2003.08.04
Как получить дескриптор существующего файла


14-10416
Dmitriy O.
2003-07-17 08:31
2003.08.04
Строковые матрицы как альтернатива Memo полям


8-10312
chyaynik
2003-04-13 16:58
2003.08.04
Текст на картинке


14-10447
Е-Моё имя
2003-07-18 09:42
2003.08.04
Кто знает шведский язык? ;)))