Frage zu: C++ ->(COM Interop)-> C# HRESULT -2147024894
-
Hallo,
folgendes Problem beschäftigt mich schon seid Tagen und ich komme einfach nicht dahinter was falsch ist.
Ich habe ein C# CSharpToC.dll erstellt.
------------------------- C# Code ------------------------------[System.Runtime.InteropServices.Guid("05CE129A-502F-4906-8FAF-50A790C11E81")]
public interface CSharpInterface
{ void ShowMessageNow(); }[System.Runtime.InteropServices.Guid("6F79A41A-13E0-412f-AFB1-D2C1CDBCFBA1")]
public class Class1:CSharpInterface
{
public Class1() {}
public void ShowMessageNow()
{System.Windows.Forms.MessageBox.Show("Ich werde angezeigt!! "); }
}----------------------------------------------------------------
Nach dem erstellt habe ich diese wie gewöhnlich mit dem Befehl "regasm CSharpToC.dll /tlb: CSharpToC.tlb" registiert und die .tlb Datei im CPP File includiert
------------------------- C++ Code ------------------------------
#import "CSharpToC.tlb" named_guids
int main (int argc, char* argv[])
{
int iValue = 0;
HRESULT hr = 0;CoInitialize(NULL);
CSharpToC::CSharpInterface * test = NULL;hr = CoCreateInstance(CSharpToC::CLSID_Class1,
NULL , CLSCTX_INPROC_SERVER,
CSharpToC::IID_CSharpInterface,
reinterpret_cast<void**> (&test));if(hr == S_OK )
test->ShowMessageNow();
else
printf("There was an Error when creating the Instance <HRESULT>: %d", hr);CoUninitialize();
return 0;
}
----------------------------------------------------------------Nun kommt es zu folgendem Fehler:
hr liefert mir immer den Wert -2147024894 zurück (laut Informationen bedeutet diese Meldung, dass das System die angegebene Datei nicht finden kann)und im Debug Fenster kommt die Meldung:
Nicht abgefangene Ausnahme in R03CSHFC.exe (KERNEL32.DLL): 0xE0434F4D: (kein Name).Ich habe alle Registry Einträge nach Korrektheit und Vollständigkeit geprüft, und es sind keine Fehler dabei.
Hat jemand eine Idee wo der Fehler liegen könnte.??
MfG
Roman
-
Dieser Thread wurde von Moderator/in evilissimo aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.