C# DCOM-Server Funktionsparameter

davidbaumann

Commodore
Registriert
Aug. 2004
Beiträge
4.867
Hallo
Ich habe folgende Funktion in einem VBS-Script:
Code:
Sub PrintBagLabel(IngId, LotId,BagSize)
 Dim PrServ
  Set PrServ = CreateObject("PrServ.PrServAuto")
 
 Dim V(5)
 V(0) = "BagSize=" & Int(BagSize*1000)
 V(1) = "IngId=""" & IngId & """"
 V(2) = "LotId=""" & LotId & """"
 V(3) = "Date=""23.06.07"""
 V(4) = "Customer=""Customer"""
        V(5) = "@@PRINTER=2"
 
 PrServ.AddDBPrintJob "BagLabel", "", V
 
 Set PrServ = Nothing
End Sub

Ich habe den PrintServer schon eingebunden usw.
Nur hakt es bei der Übergabe von Parameter 3 (V), dieser ist in Delphi ein Array vom Typ varOleStr. Unter .NET, sagt AutoCompletion, dass ich hier ein Object übergeben muss. Also (Pseudocode, nicht getestet):
Code:
object myObject = new Object();
string[5] myArray = new string[5];
myArray[0]= "blah";
myArray[1] = "blah";

myObject = myArray;
AddDBPrintJob("BagLabel", "", myArray);

Das ganze lässt sich kompilieren, nur sobald ich die Funktion ausführe, heisst es, dass das Interface veraltet sei... ich verstehe es nciht... Kann mir jemand helfen?
Wenn jemandem Infos fehlen... heute Abend bin ich zu Hause und kann direkt danach schaun, hab es gerade nicht hier. Wäre froh, wenn mir jemand helfen könnte!

Gruß David
 
Das ganze lässt sich kompilieren, nur sobald ich die Funktion ausführe, heisst es, dass das Interface veraltet sei... ich verstehe es nciht... Kann mir jemand helfen?
Wenn jemandem Infos fehlen... heute Abend bin ich zu Hause und kann direkt danach schaun, hab es gerade nicht hier. Wäre froh, wenn mir jemand helfen könnte!

Ist das ein Fehler oder nur eine Warnung? und wird evtl. ein "neueres" Interface vorgeschlagen?
 
Zuletzt bearbeitet:
Hallo
Danke für die Antwort.
Habe es jetzt hinbekommen (im Geschäft). Kann sein, dass es an meinem 64 Bit OS zu Hause liegt - kann ich aber erst heute Abend nachvollziehen.
Hier mal der Code:
Code:
string Param = "Test=1;Blah=Test";
PrServ.PrServAuto MyPrServ = new PrServ.PrServAuto();
MyPrServ.AddDBPrintJob("OrderMain", "", Param.Split(';'));

Gruß
 
Dieses Param teil wird in dem Fall aber auch zu nem Array umfunktioniert :)

der einzige unterschied den ich erkenn is die Tatsache das MyPrServ.AddDBPrintJob dran steht
 
Es liegt tatsächlich am XP x64!
Zu Hause geht es wieder nicht - muss mal schaun, warum.

Edit: Hab als Zielplattform x86 angegeben, und sofort ist es gegangen. Denke dass da einfach ein Datentyp nicht gepasst hat.
Sind bestimmt 5 Stunden dafür draufgegangen!! So ein Mist. Typisch MS - Plattformunabhängig, Versionsunabhäng - jaja!
 
Zuletzt bearbeitet:
Kannst du nicht für x64 Compilen ?
 
den Server, oder meinen Client?
Im Geschäft verwenden wir sowieso nur 32 bit (im Moment).

Hab es halt zu Hause programmiert... Aber jetzt geht es ja :)
 
Ich meinte dann zu Hause einfach mal Compiler auf x64 umstellen (glaub sowas geht ;)) un dann ma testen.
 
Ja es geht. Und eben dann ging es nicht.
Wie oben geschrieben - nachdem ich auf x86 umgestellt habe, ging es sofort!
 
Haste es im Geschäft auf ner x86er Maschien auf x64 umgestellt ?
 

Ähnliche Themen

E
Antworten
0
Aufrufe
1.842
Eagle_B5
E
Zurück
Oben