Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Property-Editor für Array (https://www.delphipraxis.net/121577-property-editor-fuer-array.html)

Mr_G 30. Sep 2008 17:55


Property-Editor für Array
 
Hallo zusammen,

ich bin gerade dabei einen Property-Editor zu schreiben, der leider nicht funktioniert. Das Problem ist, dass die Werte die ich über den Editor eingebe einfach flöten gehen.
Ich dachte mir es könnte vielleicht am Property-Typ liegen, da es sich um ein Array handelt:
Delphi-Quellcode:
type THaeufigkeit = record
  Zeichen: Char;
  Haeufigkeit: Double;
end;

type THaeufigkeiten = array of THaeufigkeit;
Beim schließen des Editors versuche ich die Änderungen so weiterzugeben:
Delphi-Quellcode:
SetOrdValue(Integer(TheArray));
"TheArray" ist dabei gefüllt aber bei erneutem öffnen ist das Array, das ich mit GetOrdValue bekomme wieder leer:
Delphi-Quellcode:
TheArray := THaeufigkeiten(GetOrdValue)
Wie müsste ich das aufzeihen damit es funktioniert?

Mr_G 1. Okt 2008 14:03

Re: Property-Editor für Array
 
So...
Das Problem hat sich verlagert. Ich habe es mittlerweile soweit hinbekommen, dass die Eigenschaften die ich setze beim darauffolgenden Aufruf des Editors wieder die selben sind.
Aber: Wenn ich das Programm starte sind die Werte weg und auch wenn ich speichere und neu lade werden die Werte nicht gespeichert. Was muss ich denn da anstellen, damit das funktioniert?

taaktaak 1. Okt 2008 14:38

Re: Property-Editor für Array
 
Zitat:

Wenn ich das Programm starte...
Welches Programm: Delphi oder deine Anwendung?
Möchtest du im OI gleich Standardwerte vorbelegen?

Mr_G 1. Okt 2008 15:12

Re: Property-Editor für Array
 
Wenn ich die Anwendung starte...:
Zur Runtime sind die Werte wieder verschwunden.
Zur Designtime werden die Werte zunächst korrekt übernommen und dargestellt bis ich das Projekt in der IDE neu öffne.

Mr_G 3. Okt 2008 11:14

Re: Property-Editor für Array
 
So... ich glaube herausgefunden zu haben, dass ich selber für das Streaming der Property sorgen muss. Ich habe auch herausgefunden wie ich das für public-Properties machen kann (hier z.B.). Leider habe ich keinen blassen schimmer wie ich ein alternatives Streaming für meine published Property realisieren soll.
Geht das Überhaupt?

Blup 6. Okt 2008 10:03

Re: Property-Editor für Array
 
Scheinbar werden die Daten für dein Property nicht automatisch gespeichert.
Warum machst du es nicht einfach genauso wie in diesem Beispiel?

Mr_G 6. Okt 2008 11:18

Re: Property-Editor für Array
 
Die Sache ist ja die, dass meine Property published sein soll, damit man sie im Objektinspektor mit dem Property-Editor bearbeiten kann.
Ich habe leuten hören, dass eine TCollection automatisch gestreamt wird. Stimmt das und würden auch meine Records dann richtig gespeichert?

Blup 7. Okt 2008 17:04

Re: Property-Editor für Array
 
Zitat:

Zitat von Mr_G
Die Sache ist ja die, dass meine Property published sein soll, damit man sie im Objektinspektor mit dem Property-Editor bearbeiten kann.

Das ist kein Hindernis.

Zitat:

Zitat von Mr_G
Ich habe leuten hören, dass eine TCollection automatisch gestreamt wird. Stimmt das und würden auch meine Records dann richtig gespeichert?

Das Speichern und Laden deiner eigenen Daten musst du auch da implementieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:02 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