![]() |
Warum geht "Memo1.Lines := Memo1.Lines" nicht?
Hallo, Allerseits.
Warum führt die Zuweisung Memo1.Lines := Meno1.Lines dazu, dass die Strings im Memo verschwunden sind?
Delphi-Quellcode:
Nur das erste ShowMessage liefert die 1. Zeile des Memos, die beiden nächsten Aufrufe liefern nur noch einen Leerstring.
procedure TForm1.Button3Click(Sender: TObject);
var str : TStrings; begin ShowMessage(Memo1.Lines[0]); Memo1.Lines := Memo1.Lines; ShowMessage('Memo: '+Memo1.Lines[0]); str := Memo1.Lines; ShowMessage('str: '+str[0]); end; Auch "ListBox1.Items := ListBox1.Items" funktioniert nicht. Wer kann mir das erklären? Gruß Jürgen |
Re: Warum geht "Memo1.Lines := Memo1.Lines" nicht?
Was willst du bezwecken, wenn du einer Eigenschaft sich selber zuweist?
Delphi-Quellcode:
Memo1.Lines.Assign( Memo2.Lines);
|
Re: Warum geht "Memo1.Lines := Memo1.Lines" nicht?
Schau doch selbst in die Assign-Methode von TStrings/TStringslist und dann sollte es dir klar werden.
|
Re: Warum geht "Memo1.Lines := Memo1.Lines" nicht?
@ mkinzler
Bezwecken wollte ich damit nichts, ich wollte nur einen von mehreren möglichen Fällen abdecken. Der Grund ist eine Prozedur, der ein zu bearbeitendes Memo, der auszugebende Text und die Größe des Memos übergeben wird. Daraus wird dann die maximal mögliche Schriftgröße berechnet.
Delphi-Quellcode:
Dort wollte ich als zweiten Parameter Memo1.Lines übergeben, wenn der Text beim Aufruf der Prozedur schon im Memo drin steht.
procedure SetFontSize(Memo : TMemo, Strings : TStrings; h, w : integer);
Delphi-Quellcode:
ging dann schief!
Memo.Lines := strings;
@ Bernhard Geyer Wenn ich gewußt hätte, dass ich nach Assign schauen muss, hätte ich es getan. TStrings.Assign gibt mir allerdings keinen Hinweis darauf, dass "Memo1.Lines := Memo1.Lines" nicht geht. Bei TSTringList zeigt meine Hilfe keine Assign-Methode. Gruß Jürgen |
Re: Warum geht "Memo1.Lines := Memo1.Lines" nicht?
Eventuell zeigt dir deine Hilfe da nichts weil die Methode geerbt wurden ;-) Aber die Hilfe sagt dir auch nicht den Grund sondern der Quelltext.
Wenn ich mich recht entsinne ist es so das die Zielliste zuerst geleert wird und anschließend werden aus der Sourceliste die Einträge kopiert. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:49 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-2025 by Thomas Breitkreuz