AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein "VarArrayCreate" vs "array of array of Integer"
Thema durchsuchen
Ansicht
Themen-Optionen

"VarArrayCreate" vs "array of array of Integer"

Ein Thema von norwegen60 · begonnen am 2. Mär 2017 · letzter Beitrag vom 2. Mär 2017
Antwort Antwort
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
504 Beiträge
 
Delphi 12 Athens
 
#1

"VarArrayCreate" vs "array of array of Integer"

  Alt 2. Mär 2017, 09:41
Hallo

ich bin in einem Programm auf folgenden Code gestoßen

Delphi-Quellcode:
Var
  IntegerArray : Variant;
 
begin
  IntegerArray := VarArrayCreate([0, 3, 0, AnzZeilen], varInteger);
  VarArrayPut(IntegerArray, WertRow, 1, Zeile);
und wüsste jetzt gerne was der Unterschied zu
Delphi-Quellcode:
var
  IntegerArray : array of array of Integer;

begin
  SetLength(IntegerArray, 4, AnzZeilen);
  IntegerArray[1, Zeile] := WertRow;
oder
Delphi-Quellcode:
var
  IntegerArray : array[0..3] of array of Integer;
 
begin
  SetLength(IntegerArray, AnzZeilen);
  IntegerArray[1, Zeile] := WertRow;
ist.

Ich fand Themen zu VarArrayCreate im Zusammenhang mit Übergabe an VisualBasic.
Danke
Gerd
  Mit Zitat antworten Zitat
bra

Registriert seit: 20. Jan 2015
711 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: "VarArrayCreate" vs "array of array of Integer"

  Alt 2. Mär 2017, 11:29
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.
  Mit Zitat antworten Zitat
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
504 Beiträge
 
Delphi 12 Athens
 
#3

AW: "VarArrayCreate" vs "array of array of Integer"

  Alt 2. Mär 2017, 11:57
Ja, aber genau dafür ist es. Um Daten an eine C##-DLL zu übertragen
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: "VarArrayCreate" vs "array of array of Integer"

  Alt 2. Mär 2017, 12:36
Ja, aber genau dafür ist es. Um Daten an eine C##-DLL zu übertragen
C++ oder C#?
Zeig doch mal nen Stück Doku von der DLL, dann kann man dich besser beraten.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: "VarArrayCreate" vs "array of array of Integer"

  Alt 2. Mär 2017, 13:21
Hallo,
bei Variants siehe auch letzten Post

http://borland.public.cppbuilder.lan...i-variant-args
Heiko
  Mit Zitat antworten Zitat
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
504 Beiträge
 
Delphi 12 Athens
 
#6

AW: "VarArrayCreate" vs "array of array of Integer"

  Alt 2. Mär 2017, 21:55
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:
        public void SetAnalysisPosition(int[,] analysisPosition, int analysisNumber, object[] parameterValues, NetCallback callback)
Bisher gab es nur die ersten zwei Parameter und da hat der Aufruf in Delphi so ausgesehen:
Delphi-Quellcode:
var
  IntegerArray: Variant;
begin
  IntegerArray := VarArrayCreate([0, 3, 0, AnzahlZeilen], varInteger);
  fractionCollector.Obj.SetAnalysisPosition(VarArrayRef(IntegerArray), AnalysisNo);
und das hat auch funktioniert.
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:
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));
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.
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#7

AW: "VarArrayCreate" vs "array of array of Integer"

  Alt 2. Mär 2017, 22:00
aber irgendwie klappt es nicht
Klappt es denn, wenn du den callback Parameter noch hinzufügst? Den hast du bisher vergessen.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz