Главная страница
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.08 c
4-1076959380
Дубинин Алексей
2004-02-16 22:23
2004.04.04
Как отловить сообщение о скроллинге


4-1075401649
myst
2004-01-29 21:40
2004.04.04
память выделенная процессу


6-1075281713
OlehM
2004-01-28 12:21
2004.04.04
Как узнать время на каком нибудь другом компютере в сетке?


6-1075397579
laumer
2004-01-29 20:32
2004.04.04
Как отловить момент окончания щтправки потока


14-1078827222
alexEagle
2004-03-09 13:13
2004.04.04
Вызов из приложения HTML Help