Einzelnen Beitrag anzeigen

Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Instanz von Object A in Object B nutzen

  Alt 5. Feb 2014, 18:37
Objekte in Delphi sind im Grunde Zeiger (Pointer) auf die Speicheradresse unter der die Informationen liegen. Bei einer Zuweisung:

Delphi-Quellcode:
var A, B: TFoo;
begin

 A := TFoo.Create;
 B := A;
wird nicht der Inhalt des Objektes übergeben, sondern die SPeicheradresse, somit wird bei

Delphi-Quellcode:
  A.Name := 'Hallo';

  ShowMessage (b.Name + ' Welt!');
Hallo Welt ausgegeben, eben weil hier die Adresse ausgetauscht werden.

um ein Objekt zu kopieren wird in Delphi Assign/AssignTo verwendet und muss für jede Klasse entsprechen überschrieben werden (welche Eigenschaften kopiert werden sollen.

Also musst Du lediglich bei dir

Delphi-Quellcode:

type
   A = class (TObject)
   public
    proberty B: TB read FB write FB;
  end;
machen und du hast dann nach der Zuweisung einer Instanz von B immer Zugriff auf die aktuellen Daten
  Mit Zitat antworten Zitat