Ia-o referire la clasa obiectului

Clasa în cauză este, în Delphi nu este înregistrată (nu este în paleta), astfel încât getClass ( „TLabel“) nu funcționează, chiar dacă există cazuri ale clasei, pentru a lucra cu ei este posibilă numai prin RTTI. Pe lângă asta, eu nici măcar nu au codul de clasă, astfel încât locul de muncă prin RTTI - singura cale de ieșire.

Aici este un exemplu care devine o referire la clasă și atribuie valori la o nouă clasă de același tip. Rețineți că aveți nevoie pentru a face unele de conversie de tip la un tip de clasă derivată poți face ceva util, deoarece tipul de întoarcere de clasă are TClass.

Clasa de replicare poate fi realizată într-una din cele două moduri. În primul rând, puteți utiliza metoda Atribuire (care impune ca notele au fost moștenitorii TPersistent). Această metodă este de a utiliza o metodă de Atribuire, de lucru cu TPersistentClass:

A doua modalitate este de a utiliza componenta automată a filetare (această metodă necesită ca clasă moștenește TComponent, și că acestea au fost înregistrate pentru sistemul de streaming).

În întrebarea dumneavoastră ați pornit de la presupunerea greșită; clasele pot fi înregistrate sistem de streaming și nu vor fi înregistrate în paleta de componente; De obicei, aceste două lucruri sunt legate, dar nu neapărat. De exemplu, să presupunem că aveți următoarea clasă:

Puteți înregistra o clasă la un sistem de streaming, după cum urmează:

care vă permite să știi cum să pună în aplicare filetare la TCustomer, dar nu-l înregistreze în paleta de componente.

După înregistrarea claselor, le puteți reproduce, după cum urmează: