![]() |
"VarArrayCreate" vs "array of array of Integer"
Hallo
ich bin in einem Programm auf folgenden Code gestoßen
Delphi-Quellcode:
und wüsste jetzt gerne was der Unterschied zu
Var
IntegerArray : Variant; begin IntegerArray := VarArrayCreate([0, 3, 0, AnzZeilen], varInteger); VarArrayPut(IntegerArray, WertRow, 1, Zeile);
Delphi-Quellcode:
oder
var
IntegerArray : array of array of Integer; begin SetLength(IntegerArray, 4, AnzZeilen); IntegerArray[1, Zeile] := WertRow;
Delphi-Quellcode:
ist.
var
IntegerArray : array[0..3] of array of Integer; begin SetLength(IntegerArray, AnzZeilen); IntegerArray[1, Zeile] := WertRow; Ich fand Themen zu VarArrayCreate im Zusammenhang mit Übergabe an VisualBasic. Danke Gerd |
AW: "VarArrayCreate" vs "array of array of Integer"
Mit VarArrayCreate wird ein Variant-Array erzeugt. Das braucht man u.a. für COM. Sofern du keine DLLs aufrufst oder zwischen unterschiedlichen Programmen Daten hin- und herüberträgst, sollte das für dich uninteressant sein.
|
AW: "VarArrayCreate" vs "array of array of Integer"
Ja, aber genau dafür ist es. Um Daten an eine C##-DLL zu übertragen
|
AW: "VarArrayCreate" vs "array of array of Integer"
Zitat:
Zeig doch mal nen Stück Doku von der DLL, dann kann man dich besser beraten. |
AW: "VarArrayCreate" vs "array of array of Integer"
|
AW: "VarArrayCreate" vs "array of array of Integer"
Ich meinte C#.
Die Aussage bezüglich der Schnittstelle war dass ein Array of Variant hinzugefügt worden ist. Jetzt habe ich mir mal den Code schicken lassen und der sieht so aus:
Code:
Bisher gab es nur die ersten zwei Parameter und da hat der Aufruf in Delphi so ausgesehen:
public void SetAnalysisPosition(int[,] analysisPosition, int analysisNumber, object[] parameterValues, NetCallback callback)
Delphi-Quellcode:
und das hat auch funktioniert.
var
IntegerArray: Variant; begin IntegerArray := VarArrayCreate([0, 3, 0, AnzahlZeilen], varInteger); fractionCollector.Obj.SetAnalysisPosition(VarArrayRef(IntegerArray), AnalysisNo); Eigentlich wurde mir gesagt, dass die zusätzliche Parameterliste ein Array of Variant ist, worauf ich die Deklaration wie folgt in Delphi implementiert habe
Delphi-Quellcode:
aber irgendwie klappt es nicht. Muss mich morgen mal mit dem C-Programmierer in Verbindung setzen. Aber vielleicht weiß ja auch ein Delphianer, wie ich die Parameterliste auf der Delphi-Seite definieren muss.
var
IntegerArray: Variant; ParamList: Variant; // Neue Parameterliste begin IntegerArray := VarArrayCreate([0, 3, 0, AnzahlZeilen], varInteger); VarArrayPut(IntegerArray, Value, [0, 0]);....... ParamList := VarArrayCreate([0, 10], varVariant); VarArrayPut(ParamList, Value1, [0]); .... fractionCollector.Obj.SetAnalysisPosition(VarArrayRef(IntegerArray), AnalysisNo, VarArrayRef(ParamList)); |
AW: "VarArrayCreate" vs "array of array of Integer"
Zitat:
Delphi-Quellcode:
Parameter noch hinzufügst? Den hast du bisher vergessen.
callback
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:17 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