Вземи препратка към класа на обекта

Класът в въпрос е, в Делфи не е регистриран (тя не е в палитрата), така GetClass ( "TLabel") не работи, дори и да има случаи на класа, за да работи с тях е възможно само чрез RTTI. На всичко отгоре на това, аз дори не трябва класа код, така че да работи през RTTI - единственият изход.

Ето един пример, който получава препратка към класа и посочва стойност нов клас от същия тип. Имайте предвид, че трябва да се направи някакъв вид преобразуване на производния клас клас можете да направите нищо полезно, защото типа връщане на клас има Чклас.

Репликация клас може да се извърши по един от двата начина. Първо, можете да използвате метода Assign (което изисква, че вашите класове са наследници TPersistent). Този метод е да се използва метод Assign, работа с TPersistentClass:

Вторият начин е да се използва за автоматично компонент резби (този метод изисква вашия клас наследява TComponent, и че те са били регистрирани за системата за стрийминг).

Във вашия въпрос, който изхожда от погрешно предположение; класове могат да бъдат записвани стрийминг система и няма да бъдат регистрирани в компонент палитра; обикновено тези две неща са свързани, но не е задължително. Да предположим, че имате следващият клас:

Можете да се регистрирате на класа към система стрийминг, както следва:

която ви позволява да се знае как да се приложи резби до TCustomer, но не го регистрирате в компонент палитра.

След регистрацията на класове, можете да ги копират, както следва: