Einzelnen Beitrag anzeigen

michaott

Registriert seit: 14. Nov 2010
15 Beiträge
 
Delphi 12 Athens
 
#9

AW: Klasse TPersistentEx zur Diskussion und Verbesserung

  Alt 7. Mai 2025, 10:32
Hallo,

Nachtrag zur Doku:

verwendete Objekte müssen über RegisterClass registriert werden.

z.B. komplettes Unit mit:

Delphi-Quellcode:
unit UMeineObjekte;

....

procedure RegisterMyClasses;
var
  RttiCtx : TRttiContext;
begin
   RttiCtx := TRttiContext.Create;
   try
      for var t in RttiCtx.GetTypes do begin
         if t.IsInstance then begin
            var o := t.AsInstance;
            var LUnitName := o.DeclaringUnitName;
            if t.TypeKind = tkClass then begin
               If LUnitName = 'UMeineObjektethen begin
                  If (TRttiInstanceType(t).MetaclassType.InheritsFrom(TPersistentEx)) then begin
                     RegisterClass(TPersistentClass(TRttiInstanceType(t).MetaclassType));
                  end;
               end;
            end;
         end;
      end;
   finally
      RttiCtx.Free;
   end;
end;

initialization
   RegisterMyClasses;
end.
  Mit Zitat antworten Zitat