Visual Basic Klasse in C++ nutzen

Hackbard_C

Grünschnabel
Hi,

ich stehe vor dem Problem, daß ich eine Klasse in VB.NET habe, diese nun aber in Visual C++ nutzen möchte... ich habe schon gelesen, daß des möglich sein soll, bisher aber keine Anleitung dazu gefunden - vielleicht weiß ja hier wer Rat?

Vielen Dank im Vorraus
Hackbard_C
 
Hi

Du musst die entsprechenden Klassen als DLL kompilieren. Wenn du die DLL unter C++.NET nutzen willst, kannst du sie ganz normal als .NET-Assembly referenzieren. Um sie unter Native C++ zu nutzen müssen sowohl die DLL als auch die Klassen COMVisible sein und die DLL mit regasm.exe registriert werden.
 
Und wie mach ich das?

Also als DLL kompilieren war mir klar, das hatte ich auch schon gemacht.. einfach bei VB als Klassenbibliothek.. fertig - aber wie/wo binde ich die nun bei C++ ein?

Via #import geht nicht.. als .NET-Referen auch nicht.. ich find nirgendwo einen Punkt der etwas mit "Assembly" zu tun hat...

Hackbard_C
 
Letzteres... .NET.. . sowohl VB als auch C++... deswegen dachte ich auch, daß das (eigentlich) ganz einfach sein müßte, da doch in .NET eh alles in diese Common Language übersetzt wird..

*edit*
/clr als Compiler-Option ist auch schon aktiviert.

Und als Fehlermeldung bekomme ich btw:
fatal error C1083: Cannot open type library file: 'd3plotreader.dll': Fehler beim Laden der Typbibliothek/DLL.

*edit2*

Ok, habs jetzt als Verweis eingefügt bekommen.. und dass läßt sich kompilieren. .das ist ja schon mal was.. aber wie nutz ich meine Klasse nun?^^ Wenn ich es wie eine normale C++-Klasse nutzen will geht es nicht :S
 
Zuletzt bearbeitet:
Jop, das hatte ich auch schon eingefügt... aber wenn ich jetzt
Code:
d3plotReader reader("meinFile.txt");

benutzen will, dann bekomme ich folgende Fehlermeldung:

error C2882: 'd3plotReader' : illegal use of namespace identifier in expression
error C2146: syntax error : missing ';' before identifier 'reader'
error C3861: 'reader': identifier not found

Wobei natürlich die erste Fehlermeldung die verursachende ist..

meine Klasse heißt in VB "d3plotReader"... deswegen habe ich die DLL auch "d3plotReader.dll" genannt.. aber wie gesagt.. nun kann ich die Klasse nicht nutzen.. und auch mit mit "d3plotReader::[xx]" finde ich nicht meinen Konstruktor o.ä.
 

Neue Beiträge

Zurück