Здравствуйте, Alex.Che, Вы писали:
AC>Привет, "человек без имени"!
AC>Вы пишешь 22 ноября 2005:
AC>>> Не уверен, что правильно понял этот абзац. Поясни.
AC>>> Имеется в виду, что внутри регулярной процедуры (не метода),
AC>>> если не предпринимать доп.шагов, недоступен Self ?
>> Шутить изволите? Какой Self у регулярной процедуры? Self какого объекта?
AC>Никто не запрещает передать мне его в процедуру, как это показано
AC>в примере от Leonid TroyanovskyАвтор: Leonid Troyanovsky
Дата: 22.11.05
.
AC>--
AC>With best regards, Alex Cherednichenko.
Это совсем другое. Тебе требуется указатель на метод,
а ты хочешь передать ему регулярную функцию. Нет проблем.
Представь другую ситуацию: TNotifyEvent был объявлен как регулярная процедура.
type TNotifyEvent = procedure(Sender: TObject);
У тебя есть форма, на форме кнопка.
Ты хочешь сделать очень простую вещь:
чтобы по нажатию на кнопку форма, на которой эта кнопка лежит, закрылась.
Пишешь обработчик события
procedure ButtonClick(Sender: TObject);
begin
// ? а что тут писать-то?
end;
Если форма статическая, то ты можешь, конечно, зашить
в обработчик глобальный объект:
procedure ButtonClick(Sender: TObject);
begin
Form1.Close; // И на каждый экземпляр — отдельную процедуру.
end;
А если форма создана динамически, и никакая глобальная переменная на неё не ссылается?
Что тогда будешь делать?
Best regards,
"Человек без имени" aka rounin