AGB  ·  Datenschutz  ·  Impressum  







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

Kopie einer Instanz

Ein Thema von stoermi · begonnen am 29. Dez 2004 · letzter Beitrag vom 29. Dez 2004
 
Muetze1
(Gast)

n/a Beiträge
 
#2

Re: Kopie einer Instanz

  Alt 29. Dez 2004, 16:36
Moin!

Deine Vermutung ist richtig - du hast nach der Zuweisung 2 Variablen die beide auf ein und dieselbe Instanz verweisen. Daher ist ein Free bei einer der Variablen gleichzeitig der Tod der anderen Variable - sie zeigt ja auf die gleiche Stelle.

Um eine Instanz ordentlich zu kopieren solltest du dir einen Copy Constructor anlegen - also ein Konstruktor der als Parameter eine Instanz gleichen Typs annimmt und dann darin alle Daten kopiert.

Beispiel:
Delphi-Quellcode:
Type
  TBeispiel = Class
  Private
    fDaten : Integer;
    fAnderes : String;

  Public
    Constructor Create; Overload;
    Constructor Create(ABeispiel : TBeispiel); Overload;
  End;

....

Constructor TBeispiel.Create(ABeispiel : TBeispiel);
Begin
  Inherited Create; // muss man nicht, ich weiss, ich mach's trotzdem

  fDaten := ABeispiel.fDaten;
  fAnderes := ABeispiel.fAnderes;
End;
MfG
Muetze1
  Mit Zitat antworten Zitat
 


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 05:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz