Einzelnen Beitrag anzeigen

Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#7

Re: Wieso kann man Listenelemente nicht kopieren?

  Alt 29. Mär 2009, 16:19
Delphi-Referenz durchsuchenTPersistent liegt (wenn ich mich richtig erinnere) in der Unit "Classes". Das heißt du musst diese Unit einbinden.

Und als zweites musst du die Methode "Assign" bzw "AssignTo" überschreiben, damit Delphi auch weiß, was den für Daten übernommen werden müssen. Mal ein kleines Beispiel:
Delphi-Quellcode:
type
  TAssignBeispiel = class(TPersistent)
  private
    FEineZahl : Integer;

    procedure AssignTo(Dest: TPersistent);
  public
    property EineZahl : Integer read FEineZahl write FEineZahl;

    procedure Assign(Source: TPersistent); override;
  end;

[...]

procedure TAssignBeispiel.AssignTo(Dest: TPersistent);
begin
  if Dest is TAssignBeispiel then
    TAssignBeispiel(Dest).FEineZahl := Self.FEineZahl
  else
    inherited;
end;

procedure TAssignBeispiel.Assign(Source: TPersistent);
begin
  if Source is TAssignBeispiel then
    Self.FEineZahl := TAssignBeispiel(Source).FEineZahl
  else
    inherited;
end;
MfG
xZise

PS: Mist da war jemand schneller...

[edit]AssignTo + else-Zweig(e)[/edit]
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat