Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Exception from HRESULT: 0x80004002 (E_NOINTERFACE)

I'm in charge of the maintenance of a C# application (VS 2005). This C# applications calls a dll ("mydll.dll"). I needed to make a few changes on the dll in question.

I have the file "mydll.vbp" that was written in Visual Basic 6.0. I made my changes in Visual Studio and, then, "made "mydll"" from the Visual Basic interface.

The problem is that, now, at each time I try to instance a class from "mydll.dll" in debbuger mode in C#, I have the following "InvalidCastException"

Unable to cast COM object of type mydll.ClassFrommydll to interface type mydll._ClassFrommydll'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{384FB79F-B636-4655-9441-8222692AB8AE}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).

I tried to re-reference the dll in question ... but that does not change anything.

Any idea on what it could come from ?

Many many thanks to all of yopu who can help. Have been stuck with this problem for days now. Start to feel the pressure ...

like image 321
Michael Avatar asked Mar 20 '12 13:03

Michael


2 Answers

mark the main class [STAThread] and your problem will be solved

like image 78
Saddam Mohsen Avatar answered Oct 03 '22 04:10

Saddam Mohsen


I ran into this exact problem using the IBM Dll's.

[STAThread]
static void Main(string[] args)
{
}

Fixed the issue for me with all COM interfaces being usable and the exception cleared

like image 37
Ashetynw Avatar answered Oct 03 '22 03:10

Ashetynw