Einzelnen Beitrag anzeigen

mcbain

Registriert seit: 18. Mai 2011
50 Beiträge
 
#1

Custom Property Editor Streaming

  Alt 28. Nov 2013, 17:15
Hallo,
ich habe eine eigene Komponente, die wiederum ein Attribut vom Typ TOwnedCollection beinhaltet.
Wenn die Eigenschaft im Inspector angeklickt wird, wird mein eigener Property-Editor aufgerufen, indem ich die CollectionItems darin editieren, hinzufügen und löschen kann.
Das funktioniert auch alles. Nur wird meine Collection nicht in der DFM gespeichert. Somit ist die Collection nach einem Neuladen des Projekts natürlich wieder leer.
Ändere ich allerdings zugleich z.B. den Namen der Komponente und speichere das Projekt ab, wird meine Collection richtig in die DFM geschrieben und kann später auch wieder korrekt geladen werden.
Ich müsste also die IDE darüber informieren können, dass nun die Eigenschaft geändert wurde und diese in die DFM gespeichert werden muss.

Hier mein Code:
Aufruf des Editors:
Code:
procedure TMyEditor.Edit;
var lform: TMyForm;
begin
  lform := TMyForm.Create(nil);
  try
    lform.MyData:= TMyData(GetOrdValue);
    lform.ShowModal;

  finally
    FreeAndNil(lform);
  end
end {Edit};
In meiner Form TMyForm verändere ich anschließend etwas an der Collection.
Jetzt die Frage, wie schreibe ich dann innerhalb meiner TMyForm in die DFM zurück?

DefineProperties + TReader + TWriter sind ja dazu nicht nötig oder?

Es wäre nett, wenn mir jemand helfen könnte.
Vielen Dank.
Gruß
mc

Geändert von mcbain (29. Nov 2013 um 08:38 Uhr)
  Mit Zitat antworten Zitat