AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein VB Array/Variant nach Delphi konvertieren
Thema durchsuchen
Ansicht
Themen-Optionen

VB Array/Variant nach Delphi konvertieren

Ein Thema von DCoderHH · begonnen am 20. Mai 2015 · letzter Beitrag vom 20. Mai 2015
Antwort Antwort
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

AW: VB Array/Variant nach Delphi konvertieren

  Alt 20. Mai 2015, 09:57
Array() in VB erzeugt aber auch kein low level Array sondern ein Variant array. Deswegen macht es in meinen Augen keinen Sinn.

Aber gut. Wenn es "low level" Delphi Arrays sein sollen dann probiers so:

Delphi-Quellcode:
type
  TVarArray1D = Array of Variant;
  TVarArray2D = Array of TVarArray1D;

var Options: TVarArray2D;
    res: Variant;
begin
  res := 'foo.runMacro(...)';

  Options := TVarArray2D.Create(TVarArray1D.Create('Option One', 1234),
    TVarArray1D.Create('Option Two', 'Michigan'),
    TVarArray1D.Create('Option Three', res));
end;
Geht in den neueren Delphi Versionen etwas leichter, oder es geht auch anstrengender mit manuellem SetLength und danach einzelne Zuweisungen.
Aber daran glaube ich nicht. Falls du nämlich deiner Funktion ein "Variant" übergeben musst dann kannst du das da oben nicht mal übergeben..
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
DCoderHH

Registriert seit: 4. Feb 2015
Ort: Hamburg
84 Beiträge
 
Delphi 10 Seattle Professional
 
#2

AW: VB Array/Variant nach Delphi konvertieren

  Alt 20. Mai 2015, 12:50
Geht in den neueren Delphi Versionen etwas leichter, oder es geht auch anstrengender mit manuellem SetLength und danach einzelne Zuweisungen.
Aber daran glaube ich nicht. Falls du nämlich deiner Funktion ein "Variant" übergeben musst dann kannst du das da oben nicht mal übergeben..
Jup, das stimmt. Die Funktion möchte ein OleVariant haben. Packe ich Options von Typ TVarArray2D nochmal in eine Variant-Variable compiliert es. Während der Laufzeit gibt es aber trotzdem den Fehler, den alle Versuche bisher geliefert haben (EOleException).
  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 19:00 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