L
El Wruckinatore schrieb:
..Aber leider: Ich bekomme durch den Aufruf zwar eine uuid zurück, aber die Erstellung einer Instanz der Klasse schlägt auf diesem Wege fehl..
Schuldigung, ich hatte auch einen kleinen Fehler gemacht, mach es ung. so:
#import "raw.dll" rename_namespace("RawLib") // deine dll hier
RawLib::IDeinInterfaceNamePtr m_InterfaceName; // hier muss du wissen, welchen
// Interface Smart Pointer du haben willst, einfach RawLib::<Strg>+<Space>
// eintippen, dann siehst du was du brauchst
HRESULT res = m_InterfaceName.CreateInstance(__uuidof(RawLib::DeinInterfaceNamePtr));
// hier war der Fehler, Wenn du RawLib::IDeinInterfaceNamePtr m_InterfaceName
// gemachst hast, dann muss du hier __uuidof(RawLib::DeinInterfaceName)
// machen (ohne "I" davor und ohne "Ptr" danach)
Hilft dir das weiter? Du kannst auch in den Projekt Settings Kategorie "Debug", "Zusätzliche Dll's" wählen und dann den Pfad zu deiner Dll eingeben, dann ist ein möglicher Fehler weniger.
Kannst du deine VB Dll über VC++ Projekt aus debuggen? Mach das mal, könnte interessant sein. Ich kann aus einem VC++ Projekt ein anderes VC++ Projekt debuggen, ob es mit VB geht, muss du ausprobieren.