Вниз
Скачать: CL | DM;

Callback функции...   Найти похожие ветки 

← →
Makhanev A.S. ©   (2003-10-13 00:01) [0]

Есть ли какие-то особенности в работе с объектами внутри callback функции?
При обращении к объекту имею AV.
Перед и после вызова ф-ции обращение к объекту проходит нормально.


procedure TProcMon.UpdateWndList;

function AnalyzeWnd(CurHandle: THandle): Boolean; stdcall;
begin
FItems.OwnsObjects := True; //имеем AV, FItems - поле класса TProcMon типа TObjectList,
...
end;
begin
FItems.OwnsObjects := True; // всё ОК
EnumWindows(@AnalyzeWnd, 0);
FItems.OwnsObjects := True; // всё ОК
end;


← →
Palladin ©   (2003-10-13 00:13) [1]

ты чего делаешь парень?
ты справку то смотрел?

какой прототип у функции EnumWindowProc?


← →
Makhanev A.S. ©   (2003-10-13 00:24) [2]

Смотрел конечно.
BOOL CALLBACK EnumWindowsProc(

HWND hwnd, // handle to parent window
LPARAM lParam // application-defined value
);

Но что это меняет???
Если я объявлю лишний параметр, ничего не изменится.


← →
Palladin ©   (2003-10-13 00:37) [3]

function AnalyzeWnd(CurHandle: hwnd;p:LPARAM): Bool; stdcall;
begin
result:=true;
TProcMon(p).FItems := True;
end;

procedure TProcMon.UpdateWndList;

begin
FItems := True;
EnumWindows(@AnalyzeWnd, integer(self));
FItems := True;
end;


← →
Palladin ©   (2003-10-13 00:38) [4]

количество и порядок параметров многое значит
и не забывай про передаваемый неявно self в методах классов


← →
Makhanev A.S. ©   (2003-10-13 00:42) [5]

Теперь мне стало понятно.
Большое спасибо за помощь!



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.016 c
3-73985
explorer
2003-10-01 08:56
2003.10.23
Анализ данных


3-73979
victor
2003-10-01 12:27
2003.10.23
QReport


1-74284
romeo
2003-10-13 00:52
2003.10.23
Как запихать координаты точки в lParam для WM_LButtonDown?


7-74504
Stas
2003-08-07 11:38
2003.10.23
Как узнать когда закрылось приложение


3-74089
LiO
2003-10-02 06:07
2003.10.23
проблема с ADO+MS SQL




   Наверх