Página 1 de 1

Question for Jose

Publicado: Mié Mar 14, 2007 11:03 pm
por Stephan Hennekens
Jose,
I have noticed that when importing an ActiveX control not all the methods,
properties and events are listed in the source file. For example when
importing the MapObjectsLT2 component the method Refresh() method is not
mentioned in the .prg file. However, calling this method does not seem to be
a problem, although calling Refresh() does not have any effect. Is this a
problem in Xailer or is the component not 100% oke?
In the case of the Scalebar object I noticed that many properties are not
listed. I have to admit that in the case of the scalebar object Delphi also
has a problem creating a type lib.
Regards,
Stephan

Question for Jose

Publicado: Jue Mar 15, 2007 5:47 pm
por jfgimenez
Stephan,
> I have noticed that when importing an ActiveX control not all the methods,
> properties and events are listed in the source file. For example when
> importing the MapObjectsLT2 component the method Refresh() method is not
> mentioned in the .prg file. However, calling this method does not seem to
> be a problem, although calling Refresh() does not have any effect. Is this
> a problem in Xailer or is the component not 100% oke?
Well, TOcx inherites from TControl, so all TControl members are also in
TOcx, and Refresh() is one of them.
ITOH, Xailer's IDE just build all properties, methods and events from the
component's typelib. If the typelib is ok, then Xailer generates a complete
class, but if the typelib isn't complete, there is no way to do it. Although
sometimes there are some properties or methods which identifier conflicts
with a reserved id (that is, ambient properties or so). Then, those members
are not shown.
> In the case of the Scalebar object I noticed that many properties are not
> listed. I have to admit that in the case of the scalebar object Delphi
> also has a problem creating a type lib.
I'm affraid that there are many ActiveX components which are not properly
built.
--
Regards,
Jose F. Gimenez
http://www.xailer.com
http://www.xailer.info

Question for Jose

Publicado: Jue Mar 15, 2007 7:39 pm
por Stephan Hennekens
Thanks Jose.
So could this means that calling the Refresh() method not necessarely calls
the MapObjectsLT2.Refresh() method?
Regards,
Stephan
"Jose F. Gimenez" <jfgimenez@wanadoo.es> wrote in message
news:[email=45f978ac@news.xailer.com...]45f978ac@news.xailer.com...[/email]
> Stephan,
>
>> I have noticed that when importing an ActiveX control not all the
>> methods, properties and events are listed in the source file. For example
>> when importing the MapObjectsLT2 component the method Refresh() method is
>> not mentioned in the .prg file. However, calling this method does not
>> seem to be a problem, although calling Refresh() does not have any
>> effect. Is this a problem in Xailer or is the component not 100% oke?
>
> Well, TOcx inherites from TControl, so all TControl members are also in
> TOcx, and Refresh() is one of them.
>
> ITOH, Xailer's IDE just build all properties, methods and events from the
> component's typelib. If the typelib is ok, then Xailer generates a
> complete class, but if the typelib isn't complete, there is no way to do
> it. Although sometimes there are some properties or methods which
> identifier conflicts with a reserved id (that is, ambient properties or
> so). Then, those members are not shown.
>
>
>> In the case of the Scalebar object I noticed that many properties are not
>> listed. I have to admit that in the case of the scalebar object Delphi
>> also has a problem creating a type lib.
>
> I'm affraid that there are many ActiveX components which are not properly
> built.
>
> --
> Regards,
>
> Jose F. Gimenez
> http://www.xailer.com
> http://www.xailer.info
>

Question for Jose

Publicado: Vie Mar 16, 2007 9:48 am
por jfgimenez
Stephan,
> So could this means that calling the Refresh() method not necessarely
> calls the MapObjectsLT2.Refresh() method?
Actually, I can't see that method in the component's typelib, so I belive
that the Xailer's one is called.
To be sure if this method belongs to the component, you may try this:
::oMap:Ocx:Invoke( "Refresh" )
if the method doesn't exists, then an error arise.
--
Regards,
Jose F. Gimenez
http://www.xailer.com
http://www.xailer.info

Question for Jose

Publicado: Vie Mar 16, 2007 3:45 pm
por Stephan Hennekens
::oMap:Ocx:Invoke( "Refresh" ) doesn't crash th application, but it has no
effect. Actually the same happen with a Delphi application, so maybe it
something in the OCX that is not oke. With VB6 it works fine, but that's a
different story I guess.
How can I address properties that do not appear in the generate code in
Xailer?
Regards,
Stephan
"Jose F. Gimenez" <jfgimenez@wanadoo.es> wrote in message
news:45fa59fd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
> Stephan,
>
>> So could this means that calling the Refresh() method not necessarely
>> calls the MapObjectsLT2.Refresh() method?
>
> Actually, I can't see that method in the component's typelib, so I belive
> that the Xailer's one is called.
>
> To be sure if this method belongs to the component, you may try this:
>
> ::oMap:Ocx:Invoke( "Refresh" )
>
> if the method doesn't exists, then an error arise.
>
> --
> Regards,
>
> Jose F. Gimenez
> http://www.xailer.com
> http://www.xailer.info
>

Question for Jose

Publicado: Dom Mar 18, 2007 12:25 am
por Stephan Hennekens
Jose,
Can ::oLegend:SetMapSource(::oMap) be replaced with
::oLegend:Ocx:Invoke("SetMapSource", ::oMap)??
It doesn't crash, but it also does not have an effect.
BTW,
I got the scalebar working using ::oScaleBar:Ocx:Invoke( "Refresh" )
instead of ::oScaleBar:Refresh()
I am getting close with the MapViewer!
Regards,
Stephan
"Jose F. Gimenez" <jfgimenez@wanadoo.es> wrote in message
news:45fa59fd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
> Stephan,
>
>> So could this means that calling the Refresh() method not necessarely
>> calls the MapObjectsLT2.Refresh() method?
>
> Actually, I can't see that method in the component's typelib, so I belive
> that the Xailer's one is called.
>
> To be sure if this method belongs to the component, you may try this:
>
> ::oMap:Ocx:Invoke( "Refresh" )
>
> if the method doesn't exists, then an error arise.
>
> --
> Regards,
>
> Jose F. Gimenez
> http://www.xailer.com
> http://www.xailer.info
>