Текущий архив: 2003.10.23;
Скачать: 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 вся ветка
Текущий архив: 2003.10.23;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.024 c