Форум: "Основная";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
Вниз
Проблема с MDI окнами Найти похожие ветки
← →
Ignoramus © (2004-03-18 23:10) [0]Привет.
ПРоблема в следующем: У меня есть главная форма которая явлеться MDI parent и есть MDIChild форма которая откріваеться программно...
как сделать так чтобы она открывалась только один раз?
Все спасибо!
← →
BAYES © (2004-03-19 01:00) [1]
try
Form2.show;
except
Application.CreateForm(TForm2, Form2);
end;
end;
← →
AMogil © (2004-03-19 01:10) [2]
try
Form2.show;
except
Application.CreateForm(TForm2, Form2);
end;
Работать, то будет, только как мне кажется это не очень правильно.
Вернее и "красивее" что ли будет:
if Application.FindComponent("Form2") = nil then
Application.CreateForm(TForm2, Form2);
← →
Silver Alex © (2004-03-19 09:13) [3]function IsFormFoundEx(AFormClass :TFormClass) : boolean;
var
i:integer;
begin
Result:=False;
for i:=0 to Screen.FormCount - 1 do
if (Screen.Forms[i] is AFormClass) then begin
(Screen.Forms[i] as TForm).BringToFront;
Result:=True;
break;
end;
if not Result then
AFormClass.Create(Application);
end;
← →
BAYES © (2004-03-19 09:38) [4]>AMogil © (19.03.04 01:10) [2]
>Работать, то будет, только как мне кажется это не очень >правильно.
Это почему же? Все работало отлично и будет работать.
← →
Ignoramus © (2004-03-19 10:22) [5]Спасибо за помощь...
← →
AMogil © (2004-03-19 10:39) [6]BAYES © (19.03.04 09:38) [4]
> Это почему же? Все работало отлично и будет работать.
А если в процессе функционирования программы Form2 перестанет указывать на соответсвующую форму, то твой код создаст еще один экземпляр.
Silver Alex © (19.03.04 09:13) [3]
Самый универсальный и верный вариант.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.038 c