![]() |
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:) |
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 |
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: |
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.
|
Re: OOP: Inhalt einer Eigenschaft kopieren
Zitat:
klasse bereits implmentiert ist. zB. bei TStrings etc. Am besten du zeigst uns mal deine property :) |
Re: OOP: Inhalt einer Eigenschaft kopieren
Zur Ergänzung:
Bei dynamischen Arrays wird nur der Zeiger kopiert, bei statischen (AFAIK) das Array selbst. |
Re: OOP: Inhalt einer Eigenschaft kopieren
hmm also scheinbar hab ich mich getäuscht und es klappt doch... strange
|
Re: OOP: Inhalt einer Eigenschaft kopieren
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:16 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 by Thomas Breitkreuz