Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Record in Record - Der linken Seite kann nichts zugewiesen.. (https://www.delphipraxis.net/146407-record-record-der-linken-seite-kann-nichts-zugewiesen.html)

Medium 19. Jan 2010 14:03

Re: Record in Record - Der linken Seite kann nichts zugewies
 
Das grundlegende Problem wird die Verwendung als Property sein. Records sind Wertetypen (im Gegensatz zu Referenztypen wie Klassen), und ein Getter liefert dir statt einer Referenz auf das tatsächliche Feld eine Kopie der Werte daraus. Wenn du in dieser Kopie etwas änderst, würde das keinerlei Auswirkungen auf das Feld haben - auch wenn es erlaubt wäre dies zu tun. Die Lösung ist in der Tat entweder ordentlich mit Klassen zu arbeiten, oder sehr unordentlich von Hand mit Pointern auf die Records zu hantieren.

p80286 19. Jan 2010 15:12

Re: Record in Record - Der linken Seite kann nichts zugewies
 
Das was Medium geschrieben hat trifft ja den Kern der Sache, wobei ich ein (persönliches) Problem mit den Klassen habe.

So wie MyStringlist[i]:='text' nicht geht, MyString:='Text' aber sehr wohl, verhält es sich bei Records und allen anderen Datenstrukturen genauso.
Es muß der Umweg über "echte" variablen gegangen werden.

Delphi-Quellcode:
myString:=Mystringlist[i];
myString:=TUWASMIT(Mystring);
MyStringlist[i]:=myString;
Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:23 Uhr.
Seite 2 von 2     12   

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