Laden...

Referenztyp bei COM-Objekt bekommt keinen Wert zurück

Erstellt von d.gierse vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.167 Views
D
d.gierse Themenstarter:in
115 Beiträge seit 2006
vor 16 Jahren
Referenztyp bei COM-Objekt bekommt keinen Wert zurück

Hallo zusammen,

ich habe eine ocx, die ich in C# verwenden möchte.
Diese hab ich mit tlbimp.exe in eine dll überführt und in mein Projekt eingebunden. Die ocx ist im System registriert.

Die erzeugte dll stellt mir u.a. folgende Funktion zur Verfügung


public virtual void GetHdDatenreihe(System.DateTime Start, System.DateTime Ende, int PVID, string Pfad, bool Flag, double Schwelle, ref string Dateiname)

In dem letzten Parameter wird der Pfad der erzeugten Datei zurück gegeben.
Wenn ich die OCX testweise direkt in Excel-VBA verwendet funktioniert die Rückgabe auch.
In meinem Programm rufe ich die Funktion wie folgt auf


hdcontrol.GetHdDatenreihe(Start, End, PVID, "F:\\", false, 0, ref filename);
 

die Funktion selbst funktioniert soweit auch, die Datei wird geschrieben. Nur in filename steht hinterher nicht der Dateiname sondern das, was vor dem Funktionsaufruf schon drin stand.
Wie komme ich an den Wert für den Dateinamen? oder geht das über COM gar nicht ?

Gruß Dominik

5.742 Beiträge seit 2007
vor 16 Jahren

Hallo,

ich kenne zwar die DLL nicht genau, versuche aber einmal, anstatt eines strings einen ausreichend dimensionierten StringBuilder zu übergeben.

D
d.gierse Themenstarter:in
115 Beiträge seit 2006
vor 16 Jahren

Hallo,

das Problem besteht nicht nur mit Strings, sondern bei allen Datentypen.

Allerdings habe ich meinem String vorher schon einen längeren Wert zugewiesen, so das die Kapazität größer ist als der Wert der zugeswiesen wird.

btw wie übergebe ich denn da meinen StringBuilder?
Er erwartet doch ein String, und dieser muss eine zuweisbare Variable sein.

Gruß Dominik