Форум: "Начинающим";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];
ВнизДве формы одного класса Найти похожие ветки
← →
Виталька 2006 (2006-09-07 12:59) [0]Здравствуйте, мастера.
Такая вроде несложная задача, но чето никак:(
У меня есть форма myForm ксасса TmyForm.
И я хочу создать ещё одну форму myFormR того же класса.
НаписалApplication.CreateForm(TmyForm, myFormR);
и в модуле формыvar myForm, myFormR: TmyForm
Но при запуске создаётся форма myForm_1, и соответственно
все обращения к myFormR на неё не влияют:(
В чём дело?
← →
Loginov Dmitry © (2006-09-07 13:04) [1]Обманываете.
Если
Application.CreateForm(TmyForm, myFormR);
выполнится, то указатель myFormR будет инициализирован.
← →
Ega23 © (2006-09-07 13:05) [2]var
MyFormR:TMyForm
begin
MyFormR:=TMyForm.Create(Application) (или от nil, если сам убивать будешь)
← →
Виталька 2006 (2006-09-07 13:21) [3]Теперь работает.
Но остались вопросы:
1. если у меня вторая форма называется myFormR, то при просмотре в Evaluate значения Self.name отображается myForm_1. Это что, как бы внутренее имя этой формы?
2.MyFormR:=TMyForm.Create(Application)
эквивалентноApplication.CreateForm(TmyForm, myFormR)
?
← →
Loginov Dmitry © (2006-09-07 15:59) [4]> 2. MyFormR:=TMyForm.Create(Application) эквивалентно Application.CreateForm(TmyForm, myFormR) ?
Не совсем.
CreateForm сначала инициализирует указатель, а только потом создает объект. Таким образом переменную формы можно использовать в обработчике события OnCreate.
← →
Германн © (2006-09-07 16:10) [5]
> 1. если у меня вторая форма называется myFormR, то при просмотре
> в Evaluate значения Self.name отображается myForm_1.
А ты присваивал имя? ТипаMyFormR.name:="MyFormR";
?
← →
Ega23 © (2006-09-07 16:12) [6]
> Это что, как бы внутренее имя этой формы?
У тебя у базового класса уже есть Name=myForm
← →
evvcom © (2006-09-07 16:33) [7]> [4] Loginov Dmitry © (07.09.06 15:59)
> переменную формы можно использовать в обработчике события
> OnCreate.
С вариантом "несколько объектов класса TMyForm" этого делать нельзя, но можно использовать в обработчике Sender
← →
Виталька 2006 (2006-09-07 19:30) [8]>А ты присваивал имя? Типа MyFormR.name:="MyFormR";?
Нет) Теперь всё понял. Запутался в понятиях "имя формы" и "переменная формы". Спасибо!
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.047 c