![]() |
Array in ein anderes kopieren-> Inkompatible Typen
Ich würde gerne ein mehrdimensionales Array in ein anderes kopieren und bekomme besagte Fehlermedung. Die Suche hat mich
![]() Mein Code sieht so aus:
Delphi-Quellcode:
Laut dem Link sollte das kein Problem sein, nur geht's hier nicht. Weiss jemand warum? :gruebel:
type
R2Array = Array of Array of integer; ... var small: r2array; begin // XSquare ist eine Klasse und getarray ist eine function, die ein r2array zurückgibt. xsqaure.execute; // r2array wird gefüllt. setlength(small,length(XSquare.getarray),length(XSquare.getarray[1])); small:=XSquare.getarray; <-- Hier meckert der Compiler end; |
Re: Array in ein anderes kopieren-> Inkomparible Typen
Ist R2Array evtl. doppelt deklariert? In deiner Unit, und nochmal in der Unit in der die andere Klasse liegt? Dann ist nämlich deine Variable vom Typ DeineUnit.R2Array und die Eigenschaft der Klasse vom Typ KlassenUnit.R2Array. Für Delphi sind diese beiden Typen ungleich.
|
Re: Array in ein anderes kopieren-> Inkomparible Typen
Hmm, ich wäre an sich sehr vorsichtig damit, so mit Arrays zu arbeiten. Wer weiss, wie Delphi mit dem Speicher arbeitet.
Da Du selbst vorher auch den Speicherplatz belegst durchaus etwas, worauf man achten sollte. Warum baust Du die Methode "Execute" nicht in eine Funktion um, die ein Array als "Var"-Parameter erwartet und als Rückgabewert einen boolschen Typen liefert, ob das Array Werte enthält, oder nicht?
Delphi-Quellcode:
In der Methode wird dass Array korrekt in der Größe initialisiert & natürlich mit Werten gefüllt.
function Execute(var Array: R2Array): Boolean;
|
Re: Array in ein anderes kopieren-> Inkomparible Typen
@ dizzy: Wenn die Idee mit dem Sternen umgesetzt worden wäre, dürftest du dich über 5 Sterne freuen. Ich hatte sie in mehreren Units deklariert, damit ich die Units einzeln benutzen und weitergeben kann. Dass es da ein Problem geben könnte, bin ich gar nicht gekommen.
Vielen Dank :thumb: |
Re: Array in ein anderes kopieren-> Inkomparible Typen
Zitat:
Zitat:
gruss, dizzy |
Re: Array in ein anderes kopieren-> Inkompatible Typen
Das mit der eigenen unit werd ich mir mal für meine nächsten Projekte merken, hier werd ich eher ein paar uses setzen. Eine eigene Unit für ein type ist in diesem Fall etwas zu groß. Die Idee ist aber gut.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:48 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