Einzelnen Beitrag anzeigen

Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Komplettes Formular speichern/laden

  Alt 30. Mai 2012, 15:01
Das Laden funktioniert nicht. Mit dem Fehler "A Component named [name] already exists" bricht das Programm ab.
[name] entspricht dabei der ersten Komponente von Form1, in dem Fall die PageControl1 : TPageControl Komponente.

Das die Komponente bereits existiert ist klar, sie soll jedoch mit der in der Datei gespeicherten Komponente überschrieben werden, um deren gespeicherte Eigenschaften zu übernehmen. Ich weiß jedoch nicht, wie ich dem Programm diese Überschreibung klarmachen kann.

Ich habe bereits viel gesucht und in diesem Forum einige ähnliche Probleme gefunden, jedoch ist mein Problem sehr konkret und dieser konkrete Fall ist bisher noch nicht aufgetaucht.

Ich hoffe ihr könnt mir entweder erklären, wie ich es schaffe das gesamte Formular, samt all seiner Unterkomponenten und deren Eigenschaften aus der Datei überschreibend zu lesen, oder mir eine Möglichkeit aufzeigen, viele Eigenschaften vieler Komponenten mit wenig Quelltext zu speichern und zu laden.
Hallo,

zu dem Zeitpunkt, an dem du das Form lädst, existiert das alte noch. Nun könnte man überlegen, dies vielleicht einfach vorher freizugeben, aber schön wäre es nicht, da du der Methode das Self unter den Füßen wegreißen würdest. Du solltest daher lieber schauen, ob es nicht noch andere Möglichkeiten gibt, die bestehende Instanz einfach daraus ihre Daten bekommen zu lassen, statt eine neue zu erzeugen und die alte dadurch zu setzen.
  Mit Zitat antworten Zitat