Az építő programozottan létrehozása és törlése formáit

C ++ Builder: programozottan létrehozása és törlése formáit

Mint ismeretes, add, hogy a vizuális környezet projekt, mint például a C ++ Builder, egy új alkalmazás ablak (form) - nincs probléma. Csak bele a projekt révén a Fájl menü Új, formája és szabályozza a megjelenítés / elrejti a forma keresztül Visible tulajdonságát vagy standard módszerekkel mutat () és Hide (TControl osztály).

Ha a dinamikus formák az alkalmazás lesz sok, akkor lehet, hogy nem tanácsos felvenni őket, hogy a tervet és a szoftver szükséges, a TForm - rendszeres osztály, és ezért a kivitelező:

Amikor a forma már nem volt szükség, akkor távolítsa el azt a szokásos módon:

Mi van, ha az űrlap egyedinek kell lennie, és szükséges, hogy megakadályozzák a teremtés második ugyanaz? Segítség a következő utasítás.

A fő formája osztály globálisan nyilvánítja mutatót TForm:

A fejlécben a fő formája class fájlt, ahonnan majd hozzon létre egy új űrlapot, állapítsa meg a függvény prototípus (nyilvános):

Bemutatjuk a funkciót is a szervezetben a modul:

Írás egy eseménykezelő az OnClose létrehozott formában:

Bárhonnan létrehoz egy formája, amelyben a processzor és a kijelző ablakok:

Így a duplikált nem jön létre, de a zárás után a dinamikus formájú lehet létrehozni egy példányt újra.

A figyelmes felhasználó könnyen észre, hogy abban az esetben, több dinamikus létrehozása / törlés formáit memóriát foglal el az alkalmazás fokozhatja, ha létrehoz, de nem csökkenti, ha bezárja az űrlapot, hogy ez normális? Talán, mert ISDA - igen, mert a Feladatkezelő mutatja, csak a virtuális memória folyamatot. memória menedzser úgy véli, azonnali visszatérését több, mint egy kis memóriát - ez csak akkor vezet, hogy csökken a teljesítmény. A megfelelő memória helyen egy „halom” (kupac) egyszerűen jelölt szabad, és alkalmanként újra használható az ugyanazon kérelem.