ПредишенСледващото

Как да проверите дали е създаден под формата

Lord програмисти! Prompt.
заявление Има MDI. При натискане на бутона се създава форма с DBGrid. Методът се нарича Show. Как мога да направя, когато се натисне отново, формата не е създаден отново, а просто показва. Т.е. как да се провери дали е създаден под формата на MDIChild.

ако MDIChild1 <> нула след това.

флаг или завист

на какво основание всяка форма Надпис пример.
Form1.MDIChildCount
Form1.MDIChildren

С MDI Бъдете внимателни: програмата не знае точно, че Chidlom (тя съществува или не) пее по-добър начин да го направите:
докато "натискане":
ако FrmTTN = нула след FrmTTN: = TFrmTTN.Create (самостоятелно);
FrmTTN.WindowState: = wsMaximized;
FrmTTN.Show;

процедура TFrmMDIChild.FormClose (Sender: TObject; Var действие: TCloseAction);
започвам
Действие: = CaFree;
приключи;

процедура TFrmTTN.FormDestroy (Sender: TObject);
започвам
FrmMDIChild: = нула;
приключи;

Аз търсех в един момент решение на този проблем и това е, което дойде

функция ExistsForm (S: String): булева;
Var I: цяло число;
започвам
резултат: = False;
защото: = 0 до screen.FormCount-1 направи
ако главни (screen.Forms [I] .name) = главна (и) след това са резултат: = True;
приключи;

параметър - името на формата. Може да не е шедьовър, но тя работи перфектно.

Всичко това работи (и решение Sergey13 на и шутът). Освен това, ако формата го сведе до минимум отново креативни. Докато стои в OnClose действие: = caFree? Получава се от две форми.

За съжаление господа. Всичко работеше. Благодаря Ви много.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!