Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: Delphi ändert Werte ohne Zuweisung oder Copy bei Dyn-Arr

  Alt 7. Jan 2006, 10:39
ein assign kopiert eigentlich nur die Eigenschaften. Wenn du willst das dein Object auch ein neues Object erstellen kann dann müsste es eine funktion haben die ein neues Object zurück liefert.
Delphi-Quellcode:
type
  TKante = class(TObject)
  public
    x1,x2: TPoint;
    function CreateCopy: TKante;
    procedure Assign(ASource: TKante);
  end;

[...]
function TKante.CreateCopy: TKante;
begin
  result := TKante.Create;
  result.Assign(Self);
end;

procedure TKante.Assign(ASource: TKante);
begin
  x1 := ASource.x1;
  x2 := ASource.x2;
end;
denk aber dran das kopierte(neu erstellte) Object auch wieder frei zu geben.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat