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

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

Опять НООКи [D7, WinXP]


anod ©   (2003-05-31 07:02:00) 

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

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;


???


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

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


Song   (2003-06-01 10:44:00) [2]

Не надо TMyTrackBar


anod   (2003-05-31 18:38:00) [3]

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


Cobalt   (2003-05-31 10:17:00) [4]

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


Наверх

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