Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi OOP: Inhalt einer Eigenschaft kopieren (https://www.delphipraxis.net/44097-oop-inhalt-einer-eigenschaft-kopieren.html)

Antigo 13. Apr 2005 14:46


OOP: Inhalt einer Eigenschaft kopieren
 
Hi,
ich hab ein kleines Problem und mir fällt absolut nicht ein wie ich das umgehe. Und zwar will ich den Inhalt einer Eigenschaft kopieren. Und zwar in eine andere hinein. also Instanz.Property1:=Instanz.Property2.
Allerdings haben dann beide immer denselben Wert. Soweit ich mich erinnere war das doch die Sache mit den verbogenen Zeigern. Das heisst der Inhalt wird gar nicht wirklich kopiert. Stattdessen zeigt der Zeiger von der einen Eigenschaft auf das Feld der anderen Eigenschaft.

Wie stelle ich es also an, das der Inhalt "wirklich" kopiert wird?



schonmal danke im vorraus:)

Bernhard Geyer 13. Apr 2005 14:51

Re: OOP: Inhalt einer Eigenschaft kopieren
 
1, Dein Property hat eine Set-Methode

2, In der Set-Methode wird der Inhalt wirklich kopiert
z.B. durch Aufruf der Assign-Methode der entsprechenden Field-Variable oder "Händisches" Kopieren des Inhalts

Antigo 13. Apr 2005 14:54

Re: OOP: Inhalt einer Eigenschaft kopieren
 
händisches kopieren wäre dann mit zwischenvariable oder?
also
temp:=Instanz.property1;
Instaz.property2:=temp;

werd das dann wohl nehmen, denn eine set Methode hab ich aus bequemlichkeit nicht eingebaut :oops:

jim_raynor 13. Apr 2005 15:08

Re: OOP: Inhalt einer Eigenschaft kopieren
 
Es kommt drauf an, was für ein Typ die Property hat. Bei Integer, Strings und ähnlichen Standardtypen wird immer kopiert. Nur bei Objekten nicht.

maximov 13. Apr 2005 15:13

Re: OOP: Inhalt einer Eigenschaft kopieren
 
Zitat:

Zitat von jim_raynor
Es kommt drauf an, was für ein Typ die Property hat. Bei Integer, Strings und ähnlichen Standardtypen wird immer kopiert. Nur bei Objekten nicht.

Ganz genau. Du kannst dann bei objekt typen ein assign-konstrukt verwenden, welches in einigen delphi
klasse bereits implmentiert ist. zB. bei TStrings etc. Am besten du zeigst uns mal deine property :)

Khabarakh 13. Apr 2005 15:16

Re: OOP: Inhalt einer Eigenschaft kopieren
 
Zur Ergänzung:
Bei dynamischen Arrays wird nur der Zeiger kopiert, bei statischen (AFAIK) das Array selbst.

Antigo 13. Apr 2005 15:54

Re: OOP: Inhalt einer Eigenschaft kopieren
 
hmm also scheinbar hab ich mich getäuscht und es klappt doch... strange

Jens Schumann 13. Apr 2005 16:31

Re: OOP: Inhalt einer Eigenschaft kopieren
 
Zitat:

Zitat von Khabarakh
Zur Ergänzung:
Bei dynamischen Arrays wird nur der Zeiger kopiert, bei statischen (AFAIK) das Array selbst.

dyn. oder klassische Array's als properties (nicht zu verwechseln mit ArrayProperties) wer macht denn so etwas :shock:


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:09 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