small problem with ActiveX boolean property

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

small problem with ActiveX boolean property

Jochen Riekhof-5
Hi...

with the TeeChart 5 ActiveX control, I tried to programmatically switch
a property of the Legend object (visibility). I used

chart := axControlSite controlDispatch.
legend := chart legend.
legend visible: false.

While this does not work (albeit the legend moves a few pixels when
switching on/off this way), it works fine when I do an inspect on legend
and click on the checkbox in the inspector's aspects view.

What can I do to make it work programmatically?

Ciao

...Jochen

P.S. there seems to be a small bug in the Inspector, when i inspect
legend it works fine, but when I inspect chart, open the legend treenode
and switch the legend's visibility, it works but there are two error
alerts popping up saying 'Error setting property "Legend"' 'HRESULT
Error: Member not found. (FACILITY DISPATCH)'


Reply | Threaded
Open this post in threaded view
|

Re: small problem with ActiveX boolean property

Jochen Riekhof-5
Hi...


> While this does not work (albeit the legend moves a few pixels when
> switching on/off this way), it works fine when I do an inspect on legend
> and click on the checkbox in the inspector's aspects view.

it looks like I have on my home system a slightly different version
(5.05) than in the Company (5.?, only know tomorrow). Reyuilding the
library classes made everything work. What still surprises me is that
the Inspector switch worked (via setProperty: 17 value:), but the setter
method did not (<stdcall ... 52...>.
Wouldn't it be safer to use the Inspector approach (setProperty:value:)
all the time? it seems to be more robust to interface changes. After all
I think that 5.x versions are considered compatible by Steema.com.
I am really not a wizard in Microsoft issues (and happy that Dolphin
hides a great deal of it) , so I appologize for any stupid question :-).

Ciao

...Jochen


Reply | Threaded
Open this post in threaded view
|

Re: small problem with ActiveX boolean property

Blair McGlashan-3
"Jochen Riekhof" <[hidden email]> wrote in message
news:[hidden email]...

> Hi...
>
>
>> While this does not work (albeit the legend moves a few pixels when
>> switching on/off this way), it works fine when I do an inspect on legend
>> and click on the checkbox in the inspector's aspects view.
>
> it looks like I have on my home system a slightly different version (5.05)
> than in the Company (5.?, only know tomorrow). Reyuilding the library
> classes made everything work. What still surprises me is that the
> Inspector switch worked (via setProperty: 17 value:), but the setter
> method did not (<stdcall ... 52...>.
> Wouldn't it be safer to use the Inspector approach (setProperty:value:)
> all the time? it seems to be more robust to interface changes. After all I
> think that 5.x versions are considered compatible by Steema.com.
> I am really not a wizard in Microsoft issues (and happy that Dolphin hides
> a great deal of it) , so I appologize for any stupid question :-).

If there has indeed been a change in the interface (in either the method
declarations or the semantics of the implementation), then Steema should
have changed the GUID. If they have not done so then it sounds like they
have broken the interface contract. Try comparing the generated classes to
see what the differences are (you could probably just diff the whole .pac).
If the virtual function numbers are different (for example), and the
interface GUID is the same, then they have definitely broken the interface
contract.

Regards

Blair


Reply | Threaded
Open this post in threaded view
|

Re: small problem with ActiveX boolean property

Jochen Riekhof-5
> If there has indeed been a change in the interface (in either the method
> declarations or the semantics of the implementation), then Steema should
> have changed the GUID. If they have not done so then it sounds like they
> have broken the interface contract. Try comparing the generated classes to
> see what the differences are (you could probably just diff the whole .pac).
> If the virtual function numbers are different (for example), and the
> interface GUID is the same, then they have definitely broken the interface
> contract.

Yes, you are right, they have. I found no differing GUIDs at all in the
first 2/3 of the pac but several differing function ids and function
parameter changes (and lots of extensions).  I cannot look at the last
third because today i learned that VSS diff tool can only process the
first 32768 chars (good old Win3.1 times :-).

Now I have the nice job to look for the latest TC5 version and update
the systems accordingly...

BTW: Are you allowed to deliver the TeeChart control with Dolphin?

Ciao

...Jochen