AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

TStrings und Memo dumme Frage!

Ein Thema von clock50 · begonnen am 15. Dez 2008 · letzter Beitrag vom 15. Dez 2008
Antwort Antwort
clock50

Registriert seit: 9. Nov 2005
Ort: Derenburg
183 Beiträge
 
Delphi 5 Professional
 
#1

TStrings und Memo dumme Frage!

  Alt 15. Dez 2008, 20:47
Hallo Experten!

Ich habe hier mal ne für mich nicht unverständliche Sache :

wenn ich in ein 'stl' (TStrings) einen anders kopiere siehe Beispiel dann wird bei jeder Änderung von stl auch die das andere TStrings geänert warum?
Delphi-Quellcode:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

var stl : TStrings;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
stl := Memo1.Lines;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Lines.Clear;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
stl.Add(Edit1.text);
end;

end.
Thomas
Man muß nicht alles wissen, man muß nur wissen in welchem Buch es geschrieben steht!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: TStrings und Memo dumme Frage!

  Alt 15. Dez 2008, 20:49
Du hast es ja nicht kopiert, sondern die Referenz(Zeiger) darauf verwiesen
Markus Kinzler
  Mit Zitat antworten Zitat
clock50

Registriert seit: 9. Nov 2005
Ort: Derenburg
183 Beiträge
 
Delphi 5 Professional
 
#3

Re: TStrings und Memo dumme Frage!

  Alt 15. Dez 2008, 20:52
Ich habe doch nur stl (TStrings) := Memo1.Lines (TStrings) kopiert? Oder wie sieht kopieren aus?
Thomas
Man muß nicht alles wissen, man muß nur wissen in welchem Buch es geschrieben steht!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: TStrings und Memo dumme Frage!

  Alt 15. Dez 2008, 20:56
Und stl und Memo.Lines sind Referenzen (Zeiger), welche nach der Zuweisung auf daselbe Objekt Zeigen.
stl.Assign( Memo1.Lines);
Markus Kinzler
  Mit Zitat antworten Zitat
clock50

Registriert seit: 9. Nov 2005
Ort: Derenburg
183 Beiträge
 
Delphi 5 Professional
 
#5

Re: TStrings und Memo dumme Frage!

  Alt 15. Dez 2008, 20:59
Bleibt die Referenz solange erhalten wie die Anwendung läuft wenn sie von mir nicht geändert wird? Oder was kann die Referenz ändern?
Thomas
Man muß nicht alles wissen, man muß nur wissen in welchem Buch es geschrieben steht!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: TStrings und Memo dumme Frage!

  Alt 15. Dez 2008, 21:02
Eine Referenz ist ein Zeiger(variable). Sie bleibt bestehen, bis du sie auf Nil oder ein anderes Objekt setzt.
Markus Kinzler
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 09:57 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