Professional OPC
Development Tools

logos

Property with a different name in the new release

More
22 Jan 2019 19:38 #7022 by support
Yes, this is basically what I was about to propose anyway.

Best regards

Please Log in or Create an account to join the conversation.

More
22 Jan 2019 17:05 #7021 by federica
I changed "C:\Program Files (x86)\OPC Labs QuickOPC 2018.3\SDK\include\QuickOpc.h" file in the highlighted way and it seems to solve the problem:

// OpcLabs.BaseLib
#if _MSC_VER >= 1300
#define IMPORT_OPCLABS_BASELIB "libid:ecf2e77d-3a90-4fb8-b0e2-f529f0cae9c9"
#else
#define IMPORT_OPCLABS_BASELIB "OpcLabs.BaseLib.tlb"
#endif
#import IMPORT_OPCLABS_BASELIB \
rename("value", "Value") \
rename("password", "Password")
using namespace OpcLabs_BaseLib;

Is it right?
Can I do this?

Thanks

Please Log in or Create an account to join the conversation.

More
07 Jan 2019 17:48 #6952 by support
Hello.

I understand the issue, and your concern. We have not done this on our own,. however, and cannot easily prevent it from happening. Microsoft did it for us :-( Put shortly, when the COM type library is generated from the QuickOPC .NET classes, Microsoft's TBLEXP tool mixes up the casing when there are multiple occurrences of the same name (anywhere in the library) with different casing. For example, we might have a parameter called 'password' *somewhere else*, in an unrelated part of the product. And TLBEXP sometimes -randomly - chooses to rename the method or property called Password to 'password'.

More info:
Best regards
The following user(s) said Thank You: federica

Please Log in or Create an account to join the conversation.

More
07 Jan 2019 17:11 - 07 Jan 2019 17:12 #6951 by federica
Hi,
I'm using your SDK (QuickOPC 2018.1, in particular OPC-UA under COM with C++) since last year.
Now I'm testing the new version QuickOPC 2018.3 and I noticed you changed the name of a property (from "Password" to "password").

In particular,

With QuickOPC 2018.1:
_UASmartSessionParametersPtr SessionParms = IsolatedParameters->GetSessionParameters();
SessionParms->UserIdentity->UserNameTokenInfo->Password = pwdParam;

With QuickOPC 2018.3:
_UASmartSessionParametersPtr SessionParms = IsolatedParameters->GetSessionParameters();
SessionParms->UserIdentity->UserNameTokenInfo->password = pwdParam;

Why did you do that? :dry:
Is it a mistake?
Will you restore the old property name with the new release?

It gives me some concern with the distribution of my applications....

Thank you!
Last edit: 07 Jan 2019 17:12 by federica.

Please Log in or Create an account to join the conversation.

Moderators: support
Time to create page: 0.171 seconds

      

 Recommend this on Google