In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Question for Jose

Xailer English public forum
Responder
Stephan Hennekens
Mensajes: 305
Registrado: Jue Nov 30, 2006 12:17 am

Question for Jose

Mensaje 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
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Question for Jose

Mensaje 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
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Stephan Hennekens
Mensajes: 305
Registrado: Jue Nov 30, 2006 12:17 am

Question for Jose

Mensaje 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
>
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Question for Jose

Mensaje 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
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Stephan Hennekens
Mensajes: 305
Registrado: Jue Nov 30, 2006 12:17 am

Question for Jose

Mensaje 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
>
Stephan Hennekens
Mensajes: 305
Registrado: Jue Nov 30, 2006 12:17 am

Question for Jose

Mensaje 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
>
Responder