![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите, с MDI-приложением! как чтоб при закрытии Child окна
Kurt © (2002-09-13 16:20:00)MDIChild-форма. закрывается с помощью action:=caFree.
потом проверяя с помощью NOT ASIGNED создаю CreateForm а иначе c помошью метода Show пытаюсь его открыть, но этого не происходит.
В чем проблема? подскажите, плиз!
BOA_KAA (2002-09-13 19:12:00) [1]2Kurt (13.09.02 17:17)
И то и другое, она сразу видима
FMichael (2002-09-13 18:45:00) [2]Както я написал:
<cobe>
procedure CreateSingleForm(formclass: TComponentClass; var childform);
var x: integer;
l: Boolean;
begin
l:=true;
if (not Assigned(TComponent(childform))) then begin
Application.CreateForm(formclass, childform);
l:=false;
end else for x:=0 to MDIChildCount-1 do
if MDIChildren[x].ClassName = formclass.ClassName then begin
MDIChildren[x].Show;
l:=false;
break;
end;
if l then Application.CreateForm(formclass, childform);
end;
procedure CreateMultipleForm(formclass: TComponentClass; var childform);
var x,t: integer;
begin
t := 0;
for x:=0 to MDIChildCount-1 do
if MDIChildren[x].ClassName = formclass.ClassName
then t := max(MDIChildren[x].tag, t);
Application.CreateForm(formclass, childform);
with TForm(childform) do begin
tag := t+1;
Caption := IntToStr(tag)+" "+Caption;
end;
end;
Вызовы:
CreateSingleForm(TForm1, Form1);
CreateMultipleForm(TForm2, Form2);
Это работает, может поможет?
Kurt (2002-09-13 17:17:00) [3]так это ты создаешь форму так, или выводишь созданную?
BOA_KAA (2002-09-13 17:05:00) [4]С каким параметром открываешь child-форму?
У меня работает так:TChildForm.Create(Self);