Minor COM Issue

I just inherited some code from a colleague and my first step was to migrate the solution to Visual Studio .NET 2003. Unfortunately, this particular solution uses a COM DLL that was written in Visual Basic that has all of its properties declared as ByRef Variant types, so Visual Studio .NET 2003 (apparently) requires accessing the properties through the hidden getter and setter methods:

comdll.Prop1 = stringVar; // Throws a compile-time error
comdll.set_Prop1(ref stringVar); // Works fine

The minor setback here is that ReSharper highlights the code in red with "Cannot resolve 'get_xxx'" and "Cannot resolve set_xxx'" errors in the tooltips. I can ignore the red markers for the moment while I refactor the bad, sloppy, evil, horrendous COM DLL into good, clean code but it might be nice to add this to the "to do list" as a long-term fix.

1 comment
Comment actions Permalink

Hello GREGORY,

this issue is well-known and will be fixed in the 2.0 version. Thanks for
your report!


Regards,
Dmitry Shaporenkov
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"

I just inherited some code from a colleague and my first step was to
migrate the solution to Visual Studio .NET 2003. Unfortunately, this
particular solution uses a COM DLL that was written in Visual Basic
that has all of its properties declared as ByRef Variant types, so
Visual Studio .NET 2003 (apparently) requires accessing the properties
through the hidden getter and setter methods:

comdll.Prop1 = stringVar; // Throws a compile-time error comdll.set
Prop1(ref stringVar); // Works fine

The minor setback here is that ReSharper highlights the code in red
with "Cannot resolve 'get xxx'" and "Cannot resolve set xxx'" errors
in the tooltips. I can ignore the red markers for the moment while I
refactor the bad, sloppy, evil, horrendous COM DLL into good, clean
code but it might be nice to add this to the "to do list" as a
long-term fix.



0

Please sign in to leave a comment.