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

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

Как показать две одинаковые формы? [D7]


Лумер ©   (2005-08-04 06:32:00) 

Есть Form2 в проекте. Я её могу показать чрезе Form2.Show . А если мне надо, чтобы можно было показать две одинаковые Form2, только с разными данными, то как это сделать?


TStas   (2005-08-04 16:20:00) [1]

forms:Array[1...сколько_надо] of TForm2; //Глобальный массив форм2

for i:=0 to сколько_надо do
begin
forms[i]:=TForm2.Create(mainForm); Создается массив экземпляров
forms[i].Tag:=i; //Это чтобы форма знала свой номер в массиве
end;
формы

forms[n].Show; //Показывается n-я форма при надобности

Полько лучше, если таких форм много не создавать все сразу, а по мере необходимости, а в onclose уничтожать их. Только надо
удрать ее из списка автоматически создаваемых форм


Лумер   (2005-08-04 07:27:00) [2]

Спасибо, попробую!


Alx2   (2005-08-04 07:15:00) [3]

>Лумер   (04.08.05 06:32)  

Поверни вопрос так:
******
У меня есть переменная с именем "a", как мне завести еще одну переменную "а", но с другим значением?
******

Ведь несколько бредово получается?

Корректнее так:
**************
У меня есть переменная такого-то типа, как мне завести еще одну переменную того же типа, но с другим значением?
*************

У объекта Form2 наверняка есть тип (скорее всего TForm2 :) )
Если это так, то заводятся два объекта типа TForm2 (две переменных) и их свойствам задаются соответствующие значения. Потом эти объекты показываются. После использования убиваются.

FormA, FromB : TForm2;

FormA := TForm2.Create(<..>);
FormB := TForm2.Create(<..>);
........
FormA.Show;
FormB.Show;


ЮЮ   (2005-08-04 06:59:00) [4]

procedure TForm1.Button1Click(Sender: TObject);
begin
 Form2 := TForm2.Create(Application);
 Form2.Caption := 'Ещё одна'ж
 Form2.Show;
end;

Только понимать при этом, что ссылка на первый экземпляр формы утрачена, т.е. нигде в коде не должно присутствовать
Form2.<свойство>, кроме, естественно, приведенного кода, т.е. между Create и Show


Наверх

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