Einzelnen Beitrag anzeigen

Tobitoba

Registriert seit: 6. Jan 2017
6 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: RegisterClasses und RTTI - dynamisches Registrieren aller Klassen zur Laufzeit

  Alt 16. Okt 2018, 08:01
Hey Uwe,
vielen lieben Dank für die erste rasche Antwort.
Das Linken haben wir in dem Projekt eingeschaltet, sowie das Bereitstellen von der detaillierten map-Datei und drc-Datei. Leider sind hier auch Unterschiede wahrzunehmen. KlasseA steht dort mit der unit..Klasse drin und hat nachfolgend alle Inhalte aufgelistet unit.Funtkion, bei der KlasseB leider nur mit der .pas und .dfm ...

Der letzte von dir beschriebene Fall , ist hier eigentlich nicht gegeben.

Weiterer Unterschied ist, in den Projekt-Optionen > Formulare, dort werden nur die 3 wichtigen automatisch erzeugt und der Rest wird unter verfügbare Formulare kategorisiert. Verschiebe ich die fehlende Klasse auf die automatische Seite, ist diese über RTTI zu finden. Eine generelle Aussage dessen ist es aber nicht, da von den 147 gefunden nicht eine einzige auf dieser Seite steht.
Von den Formularen die automatisch erzeugt werden, erbt auch keine einzige, diese sind völlig autark.
Unabhängig der Seite, werden trotzdem vor der RTTI-Funktion alle Klassen initialisiert, ebenfalls die fehlende.

Nochmals zum Zweck der Verwendung:
Wir wissen anhand in einer DB stehenden Info, welches Formular geladen werden soll. Die Speicherung und Auslesung erfolgt als String.
Im Anschluss wird der String an eine Funktion übergeben, die entsprechend die zu ladenden Formulare in einem Detaildialog des Hauptfensters einbettet und ggf. schon weitere Funktionen ausführt.
Dafür verwenden wir die unten aufgelistete Funktion.


Gruß Tobi


Delphi-Quellcode:
var
  c: TFormClass;
begin
  c := TFormClass(GetClass(Klasse:string));
  DoShowListForm(c);
end;
Tobi
  Mit Zitat antworten Zitat