![]() |
Dynamisches Array einer Procedure übergeben
Hallo,
ich habe ein dynamisches Array in einer Procedure erstellt und befüllt
Delphi-Quellcode:
Nun will ich dieses dynamische Array einer anderen Procedure übergeben.
var
Matrix : array of array of Double;
Delphi-Quellcode:
Leider funktioniert dieser Aufruf so nicht, kann mir jemand erklären wie der
procedure Callculate (Matirx : array of array of Double);
Aufruf aussehen sollte. |
Re: Dynamisches Array einer Procedure übergeben
Du muss daraus erst einen Typ machen:
Delphi-Quellcode:
mfg, Björntype T2DDoubleArray = array of array of Double; ... var Matrix : T2DDoubleArray; ... procedure DoSomething(AParam: T2DDoubleArray); |
Re: Dynamisches Array einer Procedure übergeben
die Lösung ist:
Delphi-Quellcode:
anmerkungen für das nächste mal:
type
TMatix = array of array of Double; var Matrix : TMatix; procedure Callculate (Matirx : TMatix); Zitat:
Sozusagen ist eine ordentliche Fehlerbeschreibung/Fehlverhaltensbeschreibung das wichtigste. |
Re: Dynamisches Array einer Procedure übergeben
Hallo,
ich habe den Typ und die Variable angelegt
Delphi-Quellcode:
beim Compilieren bekomme ich folgende Fehlermedlung
type
TMatrix = array of array of Double; var Matrix : TMatrix; [Pascal Fehler] umodMod1.pas(359): E2010 Inkompatible Typen: 'TMatrix' und 'dynamic array' |
Re: Dynamisches Array einer Procedure übergeben
Wie wärs wenn du uns die Zeile oder Funktion zeigst, da meine Glaskugel in der Reperatur ist, sollte morgen wieder da sein.
mfg, Björn |
Re: Dynamisches Array einer Procedure übergeben
[Sarkassmus]Na dann deute doch alternativ den Vogelflug oder Deinen Kaffeesatz :twisted: Ich habe gehört, in Eingeweiden kann man auch gut lesen. Wenn alles nicht hilft, kannste ja auch noch Knochen werfen oder die Pythia fragen.[/Sarkassmus]
@Topic: Wenn Du einen Typ deklarierst, muss der Übergabeparameter deiner Funktion natürlich auch von dem Typ sein. Ich nehme mal an, deine Funktion heisst noch
Delphi-Quellcode:
das wäre dann natürlich falsch.
Calculate(Matrix: Array of Array of Double)
|
Re: Dynamisches Array einer Procedure übergeben
Nein in der Procedure verwende ich schon den Typ
Delphi-Quellcode:
type
TMatrix = array of array of Double; var Matrix : TMatrix; procedure Callculate (Matrix : TMatrix); Das ist die Deklaration und der Aufruf von Callculate der anderen Procedure
Delphi-Quellcode:
Beim Aufruf der Callculate Procedure bleibt der Compiler stehen und gibt folgende Meldung aus
var
Matrix : array of array of Double; begin Callculate (Matrix); [Pascal Fehler] umodMod1.pas(371): E2010 Inkompatible Typen: 'TMatrix' und 'dynamic array' |
Re: Dynamisches Array einer Procedure übergeben
Das sind auch 2 Typen. Schmeiß die 2. Definition raus.
Delphi-Quellcode:
var
Matrix : TMatrix; begin Callculate (Matrix); |
Re: Dynamisches Array einer Procedure übergeben
Jo jetzt funktioniert es.
Vielen Dank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:37 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