Форум: "WinAPI";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
ВнизРабота с EnumWindows Найти похожие ветки
← →
pasha_golub (2003-11-28 11:39) [0]Вообщем-то код
procedure TForm1.OnClick(Sender: TObject);
var LP: lParam;
I: integer;
function MyEnumProc(Handle: HWND; LPar: lParam);
begin
Result := true;
//вот отсюда я не могу обратится наружу
I := I + Handle; //access violation
Memo1.Lines.Append(inttostr(handle)); //access violation тоже
end;
begin
EnumWindows(@MyEnumProc,LP);
end;
Вообщем-то он нерабочий. Если вынести функцию MyEnumProc за пределы обработчика все работает, это и неудивительно.
Вопрос, почему нельзя использовать код, приведенный мной? Что происходит. Спасибо
← →
clickmaker (2003-11-28 11:41) [1]callback ф-ия не может быть локальной
← →
Игорь Шевченко (2003-11-28 11:41) [2]Потому что локальные процедуры нельзя использовать в качестве callback-функций
← →
pasha_golub (2003-11-28 11:51) [3]Хотелось бы узнать где про соглашения вызова callback-функций прочитать. Спасибо
← →
clickmaker (2003-11-28 11:52) [4]А чо тут читать. stdcall и дело с концом. Ну и все вышесказанное
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.028 c