Maeștri delphi, moștenire non-vizuală în Delphi (documentație, surse, descărcare)

Moștenirea non-vizuală a formelor din Delphi

Roshchupkin A.V.
Ural Universitatea de Stat de Transport Feroviar, Laboratorul de Modelare Matematică și Tehnologii Informatice, Ekaterinburg







Rezumat.

În [1] metodele de "moștenire" vizuală a formelor în Delphi, în scopul utilizării lor repetate, sunt analizate în detaliu. Acest articol explorează posibilitatea utilizării clasei, succesorul TForm, ca părinte pentru forme noi. Această metodă este convenabilă în cazul în care uniformitatea externă a formelor nu este importantă pentru noi, ca în [1]. dar este important ca comportamentul diferitelor forme ale interfeței să fie același.

Creați o clasă.

Creați o clasă de bază, succesorul TForm, din care vom moșteni toate formele noastre în viitor. Pentru a face acest lucru, într-un pachet nou sau existent, adăugați componenta TBaseForm așa cum este prezentat în Figura 1.

Maeștri delphi, moștenire non-vizuală în Delphi (documentație, surse, descărcare)

Fig. 1. Crearea unei noi componente TBaseForm

Pentru Delphi 6 alineatul Necesită pachetul nostru adăuga "Borland Designer Pachetul IDE" (implicit situat în C: \ Program \ Borland \ Delphi6 Lib \ designide.dcp \). Pentru Delphi 5, tot ceea ce avem nevoie este inclus în "Borland Visual Component Library" (este inclus în pachet automat). În secțiunea utilizări pentru Delphi 5, adăugați DsgnIntf, iar pentru Delphi 6 DesignIntf ​​și DesignEditors. Să modificăm procedura de înregistrare a componentei nou create, așa cum se face în Lista 1. Listarea 1. Schimbarea procedurii de înregistrare.







Compilam pachetul nostru - clasa TBaseForm este gata de utilizare.

Folosind clasa.

Exemplu de utilizare.

Să presupunem că avem o sarcină: toate formele de proiect ar trebui să furnizeze informații despre versiunea a formularului (care este necesară în cazul în care același proiect pentru a se potrivi diferitelor clienți) și pentru a afișa informații despre forma în nici un fel.

Pentru a atinge aceste obiective schimba clasa TBaseForm așa cum se arată în Listarea 2. Aici, adăugarea de variabile și proprietăți relevante pentru a stoca informații despre versiunea de forma și un mecanism pentru afișarea informațiilor pe formular de meniul sistem de ferestre - un nou sistem de meniu adăugat „pe formularul“. Listing 2.

Acum, moștenind toate formele de proiect dintr-o clasă de TBaseForm, putem salva versiunea a formularului și de a primi informații cu privire la forma printr-un meniu sistem de ferestre (formulare).

Desigur, acest exemplu nu epuizează utilizarea acestei metode. Dintre aplicațiile evidente se observă: 1) păstrarea parametrilor ferestrelor, de exemplu, metoda [2]; 2) drepturi de acces (dacă este oriunde, de exemplu, într-o bază de date, vom păstra dreptul de acces la elementele ferestrei, aceste drepturi pot fi realizate în TBaseForm constructor); 3) tabelarea între elementele ferestrei prin apăsarea tastei Enter în TEdit (trebuie să activați handlerul corespunzător în NewWndProc), etc.

Dezavantajele metodei includ faptul că va fi extrem de dificil să se creeze componente vizuale în clasa construită TBaseForm.

Aplicație.

În package.zip, un pachet care conține o descriere a clasei TBaseForm. În program.zip, un program exemplu care conține trei forme moștenite de la TBaseForm.

Referințe







Articole similare

Trimiteți-le prietenilor: