Crearea unui formular pe baza unui șir - delphi surse faq

Acest document descrie modul în care puteți crea în Delphi o instanță a unui formular bazat pe un șir care conține numele de tip. Codul exemplului este atașat.

Pentru cine este acest document?

La orice programator care are cunoștințe inițiale pentru a lucra cu Delphi. Este relevant pentru orice versiune a Delphi.

Crearea unui formular bazat pe un șir

Pentru a crea o instanță a unui formament bazat pe un șir care conține numele de tip, trebuie mai întâi să înregistrați tipul în Delphi. Aceasta se face prin funcția "RegisterClass". Clasa de înregistrare este descrisă după cum urmează:

AClass este TPersistent. Cu alte cuvinte, clasa pe care doriți să o înregistrați la un moment dat trebuie moștenită de la TPersistent. Întrucât toate controalele Delphi, inclusiv formularele, sunt conforme cu această cerință, nu ar trebui să existe probleme. Dar această metodă nu va funcționa dacă clasele înregistrate sunt moștenite direct de la TObject.

După înregistrarea clasei, puteți găsi un pointer la tip prin trecerea unui șir la FindClass. Funcția va returna o referință la clasa pe care o puteți utiliza pentru a crea formularul. Un exemplu ilustrativ mic:

Acest cod va crea tipul TForm2, pe care l-am înregistrat cu RegisterClass.

Creați un proiect nou, apoi adăugați 4 formulare, astfel încât un total de 5. Într-un proiect real, le puteți umple cu controalele necesare, pentru acest exemplu nu contează.

În prima formă, plasați câmpul de editare și butonul. Ștergeți toate formularele, cu excepția formularului principal din lista AutoCreate. În cele din urmă, copiați codul de mai jos la unitatea1, vă va permite să creați un formular după numele tipului de clasă introdus în câmpul de editare.

Articole similare