Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Parameter übergeben per OLEVariant (https://www.delphipraxis.net/178863-parameter-uebergeben-per-olevariant.html)

Dumpfbacke 1. Feb 2014 11:55

Parameter übergeben per OLEVariant
 
Hallo Leute,
ich möchte ein Programme mittels Delphi steuern. Dieses wird mit einer importierten TLB gemacht und funktioniert auch zum Teil. Ich habe jeodch einen Aufruf den ich nicht hinbekomme.

Delphi-Quellcode:
TCOMAppObj.RunMacro(sessionId: Integer; const macroName: WideString; parmCount: Integer;
                              var parmList: OleVariant);
Ich versuche es mittels

Delphi-Quellcode:
var
Parameter: OLEVariant;
begin
 //Hier tragen wir den Parameter ein. Es ist nur einer
 Parameter := 'Auto';
 arObjekt.RunMacro(sessionId, 'ja', 1, Parameter);
Ich bekomme von den anderen Programm dann die Fehlermeldung:
Imcoming parameter list is not an array of strings.
Kann mir jemand hier eventuell erklären wie ich es machen kann ?

Tanja

Sailor 1. Feb 2014 12:17

AW: Parameter übergeben per OLEVariant
 
Du mußt das Array zuerst erstellen:

Parameter := VarArrayCreate([0,0],varVariant);
Parameter[0] := 'String'

Dumpfbacke 1. Feb 2014 12:22

AW: Parameter übergeben per OLEVariant
 
Zitat:

Zitat von Sailor (Beitrag 1246228)
Du mußt das Array zuerst erstellen:

Parameter := VarArrayCreate([0,0],varVariant);
Parameter[0] := 'String'

Nein das geht leider auch nicht. Immer noch die selbe Fehlermeldung

Bernhard Geyer 1. Feb 2014 12:28

AW: Parameter übergeben per OLEVariant
 
Gibts Beispielcode (in VBS/VB.NET/...) für diese Funktion?

Dumpfbacke 1. Feb 2014 12:31

AW: Parameter übergeben per OLEVariant
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1246233)
Gibts Beispielcode (in VBS/VB.NET/...) für diese Funktion?

Nein leider nicht

Sailor 1. Feb 2014 13:30

AW: Parameter übergeben per OLEVariant
 
Was sagt denn der Debugger zum Inhalt von Parameter?
Und was ist nach einer Zuweisung
x := Parameter[0]
in x zu finden?

Dumpfbacke 1. Feb 2014 15:18

AW: Parameter übergeben per OLEVariant
 
Dake liebe Leute,
ich habe es nun hinbekommen. Fals jemand hier auch einmal das Problem hat. Hier die Lösung

Delphi-Quellcode:
 Parameter := VarArrayCreate([0,0],varOLEStr);
 Parameter[0] := 'Typ = Auto';


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:58 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