| 

.NET C# Java Javascript Exception

2
Hallo Leute,

ich quäle mich immer noch mit dem Zusammenspiel con C# und VB6 herum.
Jetzt muss ich irgendwie einen in VB6 definierten Typ als Parameter an eine in C# definierte DLL übergeben, bzw. den Rückgabewert einer C#-Function einer Variablen dieses VB6-Types zuweisen.

VB6 Type:

Public Type MyVBType
A As String
B As Integer
C As String
End Type

Public Dim MyData As MyVBType

Welche Signatur muss nun eine in C# geschriebene Methode haben, damit ich ihr die Variable 'MyData' vom Type MyVBType übergeben kann?

Vielen Dank für Eure Hilfe
Carsten
News:
30.06.2011
Carsten Ilwig 337 1 1 6
2 Antworten
1
Mach doch im VS mal einen Verweis auf die COM-Dll, welche den Type enthält und schau Dir das Resultat im Objectbrowser an. Threoretisch kannst Du in C# ja sogar den COM-Type direkt verwenden.
30.06.2011
traudi 231 5
0
Vielen Dank für Deine Antwort. Leider hilft sie mir nicht wirklich weiter.
Ich will ja nicht von C# aus auf eine VB6-DLL zugreifen, sondern von VB6 aus auf eine C#-DLL. Ich habe also gar keine Com-DLL, auf die ich in VS einen Verweis einbinden könnte.
Die VB6-Property ist einer VB6-Exe definiert.
Das Problem fäng ja in VB6 bereits damit an, dass ich gar keinen richtigen Zugriff auf die Eigenschaft 'MyData' bekomme, weil der VB-Compiler mich laufend anmeckert.
Entweder mit 'Variable verwendet einen in Visual Basic nicht unterstützten Typ der Automatisierung', oder bei einem anderem Versuch kommt die Meldung:
'Nur Benutzerdefinierte Typen, die in öffentlichen Objektmodulen definiert sind, können in den Typ oder aus dem Typ Variant umgewandelt werden oder an eine zu Laufzeit auflösbare Funktion weitergeleitet werden.'
Da ich mit VB6 so gar nichts am Hut habe, kann ich mit den Meldungen auch nicht wirklich etwas anfangen.
30.06.2011
Carsten Ilwig 337 1 1 6

Stelle deine Vb6-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH