Форум: "Основная";
Текущий архив: 2003.01.13;
Скачать: [xml.tar.bz2];
ВнизОбработчик событий Найти похожие ветки
← →
DJ_Sedoy (2002-12-28 00:28) [0]Создаю форму и кнопку на ней:
MyForm:=TForm.Create(self);
MyForm.Parent:=Form1; //Но в идеале без этого, не буду привязывать
MyButton:=TButton.Create(self);
MyButton.Parent:=MyForm;
MyButton.Show;
MyForm.ShowModal;
Вопрос: как бы мне корректно сделать обработчик события onClick на эту кнопку ? Чтобы в нём (пусть будет MyProcedure) присвоить MyForm.NodalResult:=mrOK; В HELP сказано, что TNotify: procedure (...) of object
Если ставить
MyButton.onClick:=MyProcedure(sender: TObject); //Например....
то несовместимость типов...
← →
VID (2002-12-28 02:02) [1]Procedure MyProc(Sender:TОБЖЕК);
begin
try (MyButton.Parent as TForm).ModalResult := mrOk; except end;
end;
MyБАТОН.OnCLICK := MyProc;
← →
DJ_Sedoy (2002-12-28 02:19) [2]Точно. Пасибо.
Только работает вот так:
Procedure TForm1.MyProc(Sender:TОБЖЕК);
begin
try (MyButton.Parent as TForm).ModalResult := mrOk; except end;
end;
MyБАТОН.OnCLICK := MyProc;
ну или там TMyClass, если кто-то хочет вынести куда-то, чтоб не мешалось.
(Это для таких, типа меня, кому пригодится)
← →
Ещё (2002-12-28 03:38) [3]раз обрати внимание на свои же слова:
"В HELP сказано, что TNotify: procedure (...) of object"!
Ещё раз: Любые обработчики событий должны быть методами класса!
← →
DJ_Sedoy (2002-12-28 17:39) [4]Да-да.. Я понял, верю - сам стормозил. Потому и подписал потом для последователей, не очень внимательных :) Типа меня.
Просто с созданием объектов в RunTime первый раз стлкнулся, да и собственные классы никогда не делал.
Еще раз пасиб!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.01.13;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c