Bizarre COM interop problem (using OPC automation wrapper)
(too old to reply)
2015-02-09 09:15:26 UTC
Raw Message
I have had the same problem, while devloping with .net2. After switching to .net4 it worksy very well. I can not explain it :(
2015-09-08 14:29:37 UTC
Raw Message
hello i'm just a users MS.Net (newbie), and then i also still develop the OPC, did you help to explain about Classic COM Clients different with COM .Net? why?.
if i see the envrnmt from .NET very complete.

Dian Muhammad Adam
The problem with get_OPCGroups doesn't have anything to do with the one or
zero based array problem.
The opcdaauto.dll behaves different from what its type library says. The
type library indicates that there are three different coclasses: the
server, the groups, and the group. It indicates that when you call
get_OPCGroups you get a Groups object.
You don't.
The server object and the Groups object are one and the same. When you
call get_OPCGroups you just get a different interface pointer to the same
object (the server object). This does not pose a problem with classic COM
clients (VB6, C++) but it causes a big problem with .NET.
NET checks the COM identity rule of the interface pointer that it gets
back from get_OPCGroups, and realizes that it is the same object as the
server object. Since it already has a RCW for the server object, it just
uses the same wrapper for the new pointer.
Andy DeMaurice
Microsoft Developer Support
This posting is provided "AS IS" with no warranties, and confers no rights.