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.

Significado del uso de los 2 puntos.

Foro de Xailer profesional en español
Responder
jvtecheto
Mensajes: 127
Registrado: Jue Dic 19, 2013 1:18 pm

Significado del uso de los 2 puntos.

Mensaje por jvtecheto »

El uso de los :: , supongo que estará documentado.... pero lo que yo entiendo es que al usar por ejemplo en un evento

::Close() // Nos estamos refiriendo al formulario y no a otro control

y cuando usamos ::oButton1:cText, sino lo hiciéramos asi seria precio hacer TForm1:oButton1:cText

¿Es correcto ?, por favor explíquenme un poco el uso de los 2 puntos. (::) :shock:

Saludos.
ddupre
Mensajes: 329
Registrado: Lun Nov 12, 2007 3:53 pm

Re: Significado del uso de los 2 puntos.

Mensaje por ddupre »

Colega,
Hasta donde yo se, (que no es mucho), tu explicación es correcta.
Capaz que hay algún otro uso que desconozco.

Un saludo
Daniel
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5706
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Re: Significado del uso de los 2 puntos.

Mensaje por jfgimenez »

Los dos puntos (:) son el operador de envio en POO de xBase. Es decir, el operador con el que se accede a cualquier miembro de un objetos (propiedades, métodos, eventos,...).

Por otro lado tenemos la palabra reservada <Self>, que identifica al objeto actual. Por supuesto, Self sólo se puede usar desde algún método de la clase correspondiente a este objeto. Como en los formularios normales de Xailer los métodos son miembros de la clase formulario actual (TForm*), entonces Self hace referencia a la instancia actual de este mismo formulario. Es decir, Self:cText sería el texto del formulario, Self:oButton1 sería el componente oButton1 del formulario, etc.

Y por último, los dos puntos dobles (::) son un sinónimo de Self:, o lo que es lo mismo, se utilizan para referenciar a cualquier miembro del formulario. Los ejemplos anteriores serían ::cText y ::oButton1

Para aquellos que no estén muy puestos en POO, debo aclarar que no se debe confundir una clase con un objeto. En los formularios normales, TForm* sería la clase, que se define entre los comandos CLASS y ENDCLASS, y se compone de componentes, métodos, propiedades, eventos, etc.. Pero una clase es solamente eso, una clase.

Para usar una clase hay que "instanciar" un objeto. Instanciar un objeto es una operación que consiste en crear un elemento (objeto) de un tipo determinado (la clase). Pero puede haber muchas instancias (objetos) de una misma clase en un momento determinado. La forma habitual de crear una instancia de una clase (el objeto) es llamando a su "función de clase", que no es mas que el nombre de la clase con sus paréntesis finales. En muchos casos, también es necesario llamar a un "constructor" de esa clase, p.ej. New(). Así, crear una instancia de un formulario sería algo así como TForm1():New() y esto nos devolvería el objeto correspondiente.
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Responder