Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: CL | DM;

Вниз

Проблема с 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
7-1074070027
Taras
2004-01-14 11:47
2004.04.04
Добавление в реестр нестроковых переменных


14-1078559394
IIStan
2004-03-06 10:49
2004.04.04
Кому-нибудь в Питере нужны 3 билета на Колбасный Цех 4???


4-1074872270
GrayFace
2004-01-23 18:37
2004.04.04
Как получить координаты клиентской обл. окна (ширины краев окна)?


3-1078773828
ceval
2004-03-08 22:23
2004.04.04
как названия поля сделать по середине


6-1075112970
AlexDBases
2004-01-26 13:29
2004.04.04
Запуск приложения на удалённом компьютере.