Главная страница
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.023 c
1-1079462465
Шнур
2004-03-16 21:41
2004.04.04
Компоненты


1-1079674554
Nonamik
2004-03-19 08:35
2004.04.04
Динамический массив


8-1069861224
cyborg
2003-11-26 18:40
2004.04.04
Своевременное заполнение DirectSoundBuffer-а


6-1073455439
hfa
2004-01-07 09:03
2004.04.04
Chat


4-1075135534
-Serg-
2004-01-26 19:45
2004.04.04
HWND