I got an DLL registered on my local system. (Which I didn't own)
When I create the COM object using VBScript and calling the function everything works fine:
set Elo = CreateObject("jniwrapper.elocomserver")
Elo.refreshIntray()
But when using C#.net I get an NotImplementedException
:
Type javaClientComServerType = Type.GetTypeFromProgID("jniwrapper.elocomserver");
dynamic eloJavaClient = Activator.CreateInstance(javaClientComServerType);
eloJavaClient.refreshIntray();
Any idea whats going on here and how to fix it?
This seems to be an issue related with .NET COM interop through DLR (dynamic language runtime) in association with the COM bridge that the COM-Server (Java program wrapped through JNI utilizes). I suspect the latter to be ComfyJ from Teamdev. You can work around the issue by providing an implementation of IDynamicMetaObjectProvider and DynamicMetaObject. For a start see the code below:
Usage: