Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.337 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Komponenten in Stream speichern und wieder herstellen

  Alt 17. Jan 2008, 16:20
aus der Hilfe
Zitat:
Der Typ TComponentClass ist die Metaklasse für TComponent. Er enthält die Klassenreferenz für TComponent oder eines seiner Nachkommen.
Deine Komponenten dürften ja alle von TComponent abgeleitet sein.

Dann müsste zum ERZEUGEN der Komponente folgendes funktionieren:
Delphi-Quellcode:
var
  NewComponent: TComponent;

...
  NewComponent := TComponentClass(GetClass(ComponentNameAusDemStream)).Create(Self);
// NewComponent.MeineDatenLaden;
...
Hier wird es schwierig. TComponent hat keine Methode MeineDatenLaden. TComponent kann sich in einen Stream speichern und aus einem Stream laden aber das entspricht nicht Deiner individuellen Schreib- und Lesemethode.

Wenn Du hier für jede Komponente eigene Funktionen benutzen willst
TplLabel.MeineDatenSchreiben;
TplLabel.MeineDatenLesen;
TplPanel.MeineDatenSchreiben;
TplPanel.MeineDatenLesen;
wird Dir wohl nichts anderes übrig bleiben, als dies für jede Klasse explizit zu veranlassen.

Es sei denn, es gäbe eine Funktion wie...
Delphi-Quellcode:
if ExistProcedure(NewComponent, 'MeineDatenLesen') then
  ExecuteProcedure(NewComponent, 'MeineDatenLesen');
Das würde mich auch freuen...

stahli
  Mit Zitat antworten Zitat