- Posts: 19
- Thank you received: 0
Online Forums
Technical support is provided through Support Forums below. Anybody can view them; you need to Register/Login to our site (see links in upper right corner) in order to Post questions. You do not have to be a licensed user of our product.
Please read Rules for forum posts before reporting your issue or asking a question. OPC Labs team is actively monitoring the forums, and replies as soon as possible. Various technical information can also be found in our Knowledge Base. For your convenience, we have also assembled a Frequently Asked Questions page.
Do not use the Contact page for technical issues.
VB6 Intellisense / Early Binding Problem
Please Log in or Create an account to join the conversation.
Eldo
Please Log in or Create an account to join the conversation.
Thank you for the fast response.
Please Log in or Create an account to join the conversation.
The reason for it is that we have tested with wide range of automation controllers, and we have found some with severe limitations, and restricted the API to the lowest common denominator. For this reason, in the IDL definition, many arguments/properties are defined simply as VARIANT, not as the actual interface or object, and that's why VB6 IntelliSense isn't able to tell you more, and late binding is necessary. The VARIANT contains the object as described in the documentation, but it has to be manually filled in or type-casted.
Without this, the component won't be usable in some tools at all. So, we had to trade the efficiency and beauty of the design, for the fact that it does work in wider range of languages and tools.
Best regards,
Zbynek Zahradnik
Please Log in or Create an account to join the conversation.
Here is a way to duplicate what is happeining:
1. Create a new VB6 Standard EXE project.
2. Add "OPC Labs EasyOPC Type Library" reference.
3. In Form_Load add the line "Dim da As New EasyDAClient"
I would like to set the data source to be "Cache" so I begin typing the following:
"da." - after typing the "." intellisense brings up a list of options including "ClientMode" which I select. Now I have "da.ClientMode." but rather than get a list of ClientMode properties, I get a beep indicating intellisense is not aware of any methods/properties beneath this level.
This is odd, because I can define a variable like this: "Dim cm As EasyDAClientMode" and "Set cm = da.ClientMode" then see the ClientMode properties by typing "cm." and viewing the list which include "DataSource". However, even now I cannot select DataSource and add a "." because I once again get the beep indicating VB doesn't know anything about the DataSource property.
VB does not seem able to find any methods/properties more than 1 layer deep in the EasyOPC objects.
Am I doing something wrong?
Window 7 x64
VB6 SP6 run as Administrator
QuickOPC version 5.22
Please Log in or Create an account to join the conversation.