Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi [fixed] Property via DefineProperty & TReader/TWriter ... (https://www.delphipraxis.net/114320-%5Bfixed%5D-property-via-defineproperty-treader-twriter.html)

chaosben 23. Mai 2008 11:23


[fixed] Property via DefineProperty & TReader/TWriter ..
 
Mahlzeit!

Ich habe eine Komponente, die eine published Property hat, die von einer TList abgeleitet ist. Um die Property speichern und laden zu können, hab ich die DefineProperties - Routine der Komponente overrided :-D und folgendes nach dem inherited reingeschrieben:
Delphi-Quellcode:
Filer.DefineProperty('SaveProperties', FSaveProperties.Load, FSaveProperties.Save, FSaveProperties.Count > 0);
SaveProperties ist der Name der Property ;). FSaveProperties ist die Liste, die die beiden Routinen zur Verfügung stellt. In den Routinen nutze ich den übergebenen Reader/Writer um die Werte zu speichern (z.B. AReader.ReadWideString)

Wenn ich nun ein Formular mit der Komponente speichere, wird der Inhalt der List richtig (imho) abgespeichert. Wenn ich aber versuche, das Formular mit den gespeicherten Daten in der IDE wieder zu laden (Projekt geschlossen und wieder geöffnet) kommt der Fehler
Zitat:

Fehler beim Erzeugen von Formular: Fehler beim Lesen von SettingsLinkComponent1.SaveProperties: Ungültiger Eigenschaftswert.
In der DFM stehen 3 Werte für die Komponente: Left Top, und SaveProperties. Während des Ladens des Formulars geht Delphi 2mal in die DefineProperties (höchstwahrscheinlich für Left und Top) und dann kommt der Fehler ohne das er ein 3. Mal in die Routine gegangen ist.

Habt ihr einen Tip für mich?

Danke für eure Mühe.

//edit: ok, hat sich erledigt ... Man muss einfach bei DefineProperty einen anderen Namen wählen :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz