Problem mit mehrfach deklarierten Enums Fehler C2011
-
Hallo,
ich versuche eine klassiche - nicht .NET-Dll - zur Integration sebstgeschriebener Funktionalitäten in eine bestehende Software (TradeStation) zu schreiben.
Die Funktionen schreibe ich in einer VB-Dll (.NET). In diese muss ich die Interorp.Dll des Herstellers der Software (Referenz Interorp.TSKITLib.dll) einbinden.
Anschließend muss ich in C++ die Funktionen wrappen und in einer nicht-.NET-Dll bereitstellen. In C++ muss ich die VB-DLL und die TypeLibrary der nicht-.NET Version (TSKITLib.dll) einbinden.
Konkret im Code dann#import "tskit.dll" no_namespace
#import TsAdmgVb.tlb" raw_interfaces_only no_namespaceSoweit so gut.
Leider bekomme ich dann den Fehler C2011, da im Hearderfile eine Enum über beide Imports definiert worden ist. Und das gefällt C++ natürlich nicht.
/* dual interface */ _TsAdmgVb;
enum EN_DATA_STREAM;enum __declspec(uuid("e700acc4-fb27-327b-94a0-90a123c9ddf6"))
EN_DATA_STREAM
{
EN_DATA_STREAM_data1 = 0,
EN_DATA_STREAM_data2 = 1,
...Kann mir jemand einen Rat geben was zu tun ist? Mein C++-Zeiten sind leider lange Vergangenheit.
Herzlichen Dank
Martin