Hogyan célszerű fejleszteni? (Delphi)
2008-10-16T15:49:51+02:00
2008-10-16T22:58:40+02:00
2022-06-29T09:15:41+02:00
  • Szia!

    Szerintem 60-70 form simán előfordulhat, jó nagy program lesz Inkább azon érdemes elgondolkodni, hogy több részre szeded, mert monolitikusan 80MB-os EXE lehet belőle...

    Azért nem érdemes autocreate-ni mert fölöslegesen foglalja a memóriát - főleg nagyobb listboxok esetén az számottevő lehet. Meg lassítja a programindulást, amikor ugyanúgy létrehozódik, mint ha kézzel csinálod.

    Saját gyakorlatomban azokat a formokat szoktam autocreate-tal létrehozatni, ami a program futása során gyakran/rendszeresen kell, az idő nagy részében úgyis be van töltve. Egy "About" képernyőt viszont elég akkor betölteni, ha a "Súgó|Névjegy" menüpontra kattintottak.

    Viszont semmiképp NEM javaslom a kézzel kódolt formokat, mert sokkal nagyobb lesz a kód (és hosszabb a megírása), mint ha hagyod a Delphi-nek.

    Ami sokat segít a rengeteg form hatékony leprogramozásában, az a tFrame!!! Találj minél több közös ablakrészt, amit aztán sok helyen használhatsz - ezeket írd meg olyan általánosra, amennyire csak bírod. Megéri a befektetés. Jelenleg pl. olyan tListBox leszármazottat készítek, amiben keresni és szűrni lehet egyszerűen billentyűzve a szöveget. Ez egy lista, fölötte egy panelen egy tEdit és néhány gomb. Valamint mögötte egy tStringList, meg persze jó sok kód, sok függvény meg property. De a végeredményt minden helyen használni tudom, ahol tListBox volt eddig (van pl. egy boolean .CanSearch és .CanFilter tulajdonsága, amivel letilthatom a keresést; ettől ugyanolyan lesz, mint a szokvány lista - de bármikor bővíthetem).
    Mutasd a teljes hozzászólást!
  • gondolom a jó megoldás az, hogy a legutolsó közös pontig design-time létrehozom a formot és a fennmaradó részt meg runtime kódolom le?!


    Igen, hogyha amit lekódolsz, azt az összes form-ra, de legalábbis sokra tudod alkalmazni, és nem kell külön kódot írni mindegyikhez.
    Mutasd a teljes hozzászólást!
  • Köszönöm a hozzászólásod!

    Ajánlom még a Frame használatát is, amivel előre csoportosított, elrendezett, és beállított komponenseket helyezhetsz el a Form-on.
    Az auto-create -ből kivett, futásidőben létrehozott formok + frame felé indultam el.

    Ez esetben biztos van valami logikai kapcsolat a formok felépítése között, és egyszerűbb lekódolni, hogy egy adatbázis, vagy egy konfigurációs fájl alapján építse föl a Form-okat.
    Van. Pl. a törzsadat (cikkszám,raktár,mozgásnem,...)lekérdező formok méretükben, StaticText komponens text tulajdonságukban és a DBGrid adattartalmában térnek el (ezeket mind külön formnak számoltam), így gondolom a jó megoldás az, hogy a legutolsó közös pontig design-time létrehozom a formot és a fennmaradó részt meg runtime kódolom le?!

    Mutasd a teljes hozzászólást!
  • Köszönöm a hozzászólásod!

    1. Kérdéseket a tudástárban illik feltenni.
    Nincs konkrét kódra vonatkozó kérdésem (azzal elboldogulok többé-kevésbé). Csak arra lettem volna kíváncsi , ami a Cantu könyvekben sincs benne, vagyis , hogy egy ilyet hogyan érdemes kivitelezni.

    2. Ki kell venni az autocreate-ből és szépen kézzel létrehozni.
    Erre indultam el én is (+frame), csak valahol ott volt a kisördög, hogy most akkor ez a jó megoldás, vagy a "majdnem mindent kódból"?
    Mutasd a teljes hozzászólást!
  • 70-80 Form

    Ez esetben biztos van valami logikai kapcsolat a formok felépítése között, és egyszerűbb lekódolni, hogy egy adatbázis, vagy egy konfigurációs fájl alapján építse föl a Form-okat. Ajánlom még a Frame használatát is, amivel előre csoportosított, elrendezett, és beállított komponenseket helyezhetsz el a Form-on.
    Azt is megfonolhatod, hogy inkább tab-okat használj. Bár, nem tudom, miféle alkalmazás lehet ez.
    Mutasd a teljes hozzászólást!
  • 1. Kérdéseket a tudástárban illik feltenni.
    2. Ki kell venni az autocreate-ből és szépen kézzel létrehozni.
    De ettől a RAD nyújtotta előnyökről hülyeség lemondani, azaz használd a form designert egészséggel. Rá lehet pakolni kézzel is a formra a kontrollokat de igazán semmit nem nyersz vele csak ráköltesz egy rakás időt feleslegesen és write-only lesz a programod.
    Mutasd a teljes hozzászólást!
  • Sziasztok!

    Delphiben szeretnék csinálni egy programot ,ami kb 70-80 (később ez lehet akár *2 is) formból állna és éppen ezért szeretném kikérdezni nálam okosabbak/tapasztaltabbak véleményét.

    Azt már tudom/olvastam, hogy ilyen nagyságrendnél nem célszerű auto-create formokat használni. Melyik a jó/jobb megoldás: ha auto-create-ből kiszedett formokat és frame-eket használok és azokat mindig csak ott,akkor és addig hozom létre ,amíg szükségesek , vagy ha mindent kódból hozok létre?

    Ez utóbbi esetén hogyan célszerű kódolni, milyen megoldások vannak? Hogyan célszerű pl egy olyan formot lekódolni , amelyen egy rakás eltérő osztályból származó komponens van? (pl: DBGrid, Edit, Label, Button, ToolBar,...)

    Előre is köszönöm!
    AE
    Mutasd a teljes hozzászólást!
abcd