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

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

Работа с EnumWindows [D6]


pasha_golub ©   (2003-11-28 11:39:00) 

Вообщем-то код


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:52:00) [1]

А чо тут читать. stdcall и дело с концом. Ну и все вышесказанное


pasha_golub   (2003-11-28 11:51:00) [2]

Хотелось бы узнать где про соглашения вызова callback-функций прочитать. Спасибо


clickmaker   (2003-11-28 11:41:00) [3]

callback ф-ия не может быть локальной


Игорь Шевченко   (2003-11-28 11:41:00) [4]

Потому что локальные процедуры нельзя использовать в качестве callback-функций


Наверх

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