AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Warum geht "Memo1.Lines := Memo1.Lines" nicht?

Ein Thema von gfjs · begonnen am 26. Aug 2008 · letzter Beitrag vom 26. Aug 2008
Antwort Antwort
gfjs

Registriert seit: 8. Dez 2005
Ort: Hohenkammer
298 Beiträge
 
Delphi 2006 Professional
 
#1

Warum geht "Memo1.Lines := Memo1.Lines" nicht?

  Alt 26. Aug 2008, 19:10
Hallo, Allerseits.

Warum führt die Zuweisung Memo1.Lines := Meno1.Lines dazu, dass die Strings im Memo verschwunden sind?

Delphi-Quellcode:
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;
Nur das erste ShowMessage liefert die 1. Zeile des Memos, die beiden nächsten Aufrufe liefern nur noch einen Leerstring.

Auch "ListBox1.Items := ListBox1.Items" funktioniert nicht.

Wer kann mir das erklären?

Gruß Jürgen
Mein neues Motto (von "Unbekannt"):
Gewinnen: Wenn Du kannst - Verlieren: Wenn Du musst - Aufgeben: NIE!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Warum geht "Memo1.Lines := Memo1.Lines" nicht?

  Alt 26. Aug 2008, 19:19
Was willst du bezwecken, wenn du einer Eigenschaft sich selber zuweist?

Memo1.Lines.Assign( Memo2.Lines);
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.170 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Warum geht "Memo1.Lines := Memo1.Lines" nicht?

  Alt 26. Aug 2008, 19:20
Schau doch selbst in die Assign-Methode von TStrings/TStringslist und dann sollte es dir klar werden.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
gfjs

Registriert seit: 8. Dez 2005
Ort: Hohenkammer
298 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Warum geht "Memo1.Lines := Memo1.Lines" nicht?

  Alt 26. Aug 2008, 19:48
@ 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.

procedure SetFontSize(Memo : TMemo, Strings : TStrings; h, w : integer); Dort wollte ich als zweiten Parameter Memo1.Lines übergeben, wenn der Text beim Aufruf der Prozedur schon im Memo drin steht.

Memo.Lines := strings; ging dann schief!

@ 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
Mein neues Motto (von "Unbekannt"):
Gewinnen: Wenn Du kannst - Verlieren: Wenn Du musst - Aufgeben: NIE!
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Warum geht "Memo1.Lines := Memo1.Lines" nicht?

  Alt 26. Aug 2008, 19:51
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.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:28 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