Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Referenz auf array
Rool - Fr 13.06.03 09:21
Titel: Referenz auf array
Wie kann ich eine Referenz auf ein Array erstellen. Wenn ich es genauso deklariere, sagt er: "inkompatible typen!"
also
Quelltext
1: 2: 3: 4: 5:
| var refArr: array of TTest;
begin
refArr:=arrListe; //arrListe ist global deklariert |
Wie macht man so etwas?
AndyB - Fr 13.06.03 09:33
Du musst einen neuen Typen anlegen, denn wenn die beiden Variablen nicht in der selben "Zeile" deklariert sind, sind sie nicht kompatibel.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| var a, b: array of TTest;
a := b;
var a: array of TTest; b: array of TTest;
a := b;
type TTestDynArray = array of TTest; var a: TTestDynArray; b: TTestDynArray;
a := b; |
Das ist nun mal der Pascal-Standard den man akzepieren muss.
Rool - Fr 13.06.03 15:18
Titel: ..
Alles klar! Ist ja sehr merkwürdig! Aber DANKE!
Rool - Fr 13.06.03 15:32
Titel: ...
Aber das ist ja gar keine Referenz! Wenn ich in a irgendwas drin stehen habe und dann
b:=a
setzte,
und dann in b etwas ändere, ändert sich das in a NICHT!!!
AndyB - Fr 13.06.03 15:52
Bei dynamisch Arrays müsste das schon so sein. Hast du vielleicht ein festgelegtes Array (Array[x..y] of XX) deklariert?
Rool - So 15.06.03 16:21
Titel: ne
ne, ist n dynamisches!
UGrohne - So 15.06.03 16:25
Bei dynamischen Arrays wird es nur eine Referenz, habe dasselbe Problem vor kurzem gehabt, dass plötzlich beides gleich war und ich nicht wusste warum, nur weil ich einen Fehler bei der Datenübergabe gemacht habe. Typen sind bei solchen Zuweisungen im Normalfall immer Referenzen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!