Вниз
Скачать: 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.45 MB
Время: 0.014 c
7-74501
MAPIIIAJL
2003-08-07 18:08
2003.10.23
Проблема с записью информации в COM-порт под WinXP


3-74070
ghost_by
2003-10-01 17:52
2003.10.23
Ошибка - Cannot translate character between character sets


14-74394
Nik8.
2003-10-06 13:43
2003.10.23
Дождик


3-74009
Nikolai
2003-10-03 10:52
2003.10.23
что-то не могу обратится к полю...беда...что-то не так?


14-74447
Orion2
2003-10-03 16:52
2003.10.23
Люди сами не знают чего хотят




   Наверх