![]() |
Wie funktioniert SetPropValue bei TMemo.Lines?
Hallo,
ich komm hier irgendwie nicht weiter: Ich versuche per SetPropValue an einem TMemo die Lines zu verändern. Da verträgt sich aber Variant nicht mit TStrings. Also probierte ich die spezielleren Methoden setOrdProp und setObjectProp. Mit GetObjectProp bekomme ich die Lines, kann sie auch mit ShowMessage anzeigen. Adde ich dann "Zeile 3" und schreibe mit SetObjectProp zurück, dann sind die Lines leer. Mit einfachen Typen funktioniert SetPropValue, ich kann z.B. bei einem TButton die Caption oder Left, Top usw. verändern. Ich nutze Delphi 7 Professional und Win XP Professional. Hat vielleicht jemand eine Idee? Danke im Voraus Steffen
Delphi-Quellcode:
procedure TForm1.btn1Click(Sender: TObject);
var ts : TStrings; begin Memo1.Lines.Add('Zeile 1'); Memo1.Lines.Add('Zeile 2'); ts := TStrings(getObjectProp(Memo1, 'Lines')); // ts := TStrings(getOrdProp(Memo1, 'Lines')); ShowMessage(ts.text); ts.Add('Zeile 3'); setObjectProp(Memo1, 'Lines', ts); // setOrdProp(Memo1, 'Lines', integer(ts)); ts := TStrings(getOrdProp(Memo1, 'Lines')); end; |
Re: Wie funktioniert SetPropValue bei TMemo.Lines?
Lass das SetObjectProp. Allein durch das Add wird die Zeile schon hinzugefügt.
|
Re: Wie funktioniert SetPropValue bei TMemo.Lines?
Danke :-D ,
stimmt, ts ist ja ein Pointer auf die Lines. :wall: Komisch ist nur, dass die Lines leer sind, wenn ich ts nochmal zuweise. Eigentlich dürfte dass doch nichts verändern, oder? Danke und Gruß Steffen |
Re: Wie funktioniert SetPropValue bei TMemo.Lines?
Durch die Zuweisung wird im Prinzip ts.Assign(ts) aufgerufen. Nun wird in der Assign-Methode aber erst Self.Clear aufgerufen und dann die Zeilen der anderen Liste hinzugefügt. Das funktioniert natürlich nicht, wenn Self und Argument identisch sind.
|
Re: Wie funktioniert SetPropValue bei TMemo.Lines?
Hallo,
ja, das leuchtet ein :-D . Danke nochmal. Steffen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:00 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