Hogyan lehet ellenőrizni, hogy az űrlap létrehozásakor

Hogyan lehet ellenőrizni, hogy az űrlap létrehozásakor

Lord programozók! Prompt.
Ott MDI alkalmazás. A gomb megnyomása létrehoz egy űrlapot egy DBGrid. Módszer az úgynevezett Show. Hogyan teszik, ha ismét megnyomja, a forma nem jön létre újra, és egyszerűen mutatja. Ie ellenőrizheti, hogy a MDIChild űrlap.

ha MDIChild1 <> nil majd.

zászló vagy irigység

milyen alapon bármilyen formában Képaláírás példa.
Form1.MDIChildCount
Form1.MDIChildren

Az MDI Legyen óvatos: a program nem tudja pontosan, hogy Chidlom (létezik-e vagy sem) énekel jobb módja ennek:
míg a „nyomja”:
ha FrmTTN = nil majd FrmTTN: = TFrmTTN.Create (ön);
FrmTTN.WindowState: = wsMaximized;
FrmTTN.Show;

eljárás TFrmMDIChild.FormClose (Sender: TObject; var Action: TCloseAction);
kezdődik
Action: = CaFree;
végén;

eljárás TFrmTTN.FormDestroy (Sender: TObject);
kezdődik
FrmMDIChild: = nil;
végén;

Kerestem egy időben megoldást erre a problémára, és ez jött

funkció ExistsForm (S: String): Boole;
var i: integer;
kezdődik
eredmény: = false;
i: = 0 screen.FormCount-1 do
ha nagybetűs (screen.Forms [i] .name) = nagybetűs (ek), akkor eredményezhet: = True;
végén;

paraméter - a nevét a formában. Lehet, hogy nem egy remekmű, de tökéletesen működik.

Mindez működik (és a határozat Sergey13, és a Fool). Kivéve, ha a forma minimalizálása újra kreatív. Míg állt a OnClose Action: = caFree? Nyert két formában.

Elnézést uraim. Minden működött. Köszönöm szépen.

Kapcsolódó cikkek