![]() |
propety write geht nicht ??!!
hi,
ich schreibe gerade eine komponente wenn ein neuer string hinzugefügt wurde, muss ich die komponente neu zeichnen lassen meine property hat folgende strucktur
Delphi-Quellcode:
aber die procedure schreiben wird nicht aufgerufen, lesen geht
procedure schreiben(value : TStringlist);
procedure buttonszeigen; function lesen :TStringlist ; public constructor create(AOwner : TComponent); override; published property Items : TStringlist read lesen write schreiben; end; wieso frage ich mich bloss ??!! |
Hallo,
poste mal Deine Procedure 'schreiben', um zu sehen was Du machst. p.s. Nach dem (in)-offiziellen Styleguide sollte die write Prozedur mit SetDeineProcedure und read Funktion mit GetDeineFunction benamst sein... |
schreiben wird nur aufgerufen, wenn du Items eine Stringliste zuweist. Für das Abfangen von Änderungen musst du bei der Stringliste das OnChange Ereignis abfangen.
|
die procedure schreiben wird auch gar nicht ausgeführt, er spring da nicht rein
wie kann ich denn das OnChange ereignis von FItems in die Komponente hinzufügen ?
Delphi-Quellcode:
procedure TOvaleLeiste.schreiben(value : TStringlist);
begin FItems := value; refresh; end; |
habs hinbekommen das ereignis zu schreiben
bei der erstellung eine procedure von OnChange zuweisen
Delphi-Quellcode:
und die prodedure defenieren und anweisungen reinpacken
FItems.OnChange := aendern;
Delphi-Quellcode:
procedure TOvaleLeiste.aendern(Sender : TObject);
begin refresh; end; |
Zitat:
Damit produzierst du nur Speicherlecks. Bei einem Objekt sollte (außer man weiß genau was man macht) das schreiben so ablaufen:
Delphi-Quellcode:
procedure TOvaleLeiste.schreiben(value : TStringlist);
begin FItems.Assign(value); refresh; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz