FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index To do - WishList / Por hacer - Peticiones Uso de la palabra reservada Self en la definici贸n de comando
Posts: 989
Joined: Thu Nov 24, 2005 03:01 PM

Uso de la palabra reservada Self en la definici贸n de comando

Posted: Mon May 11, 2009 05:28 PM
Hola Antonio,
Quisiera proponer un cambio que hace tiempo lo tengo pensado porque me ha tra铆do uno que otro inconveniente cuando programas con clases.
En Fivewin.ch se usa "Self" como nombre de un parametro en algunos codeblocks. Eso acarrea alg煤n inconveniente cuando queremos usar comandos dentro de los m茅todos de una clase, porque en ese contexto el mismo lenguaje define Self, y se produce alguna situaci贸n amb铆gua, que se podr铆a evitar renombrando el par谩metro.

Code (fw): Select all Collapse
#include 'hbclass.ch'
// MyFive.ch
#translate Self => __Self__
#include 'FiveWin.ch'
#untranslate Self
CLASS MiClase FROM TDialog
   DATA oBB
   Method New() Constructor
   Method Close() INLINE ::End()
END CLASS

METHOD New( cResource ) CLASS MiClase
   DEFINE DIALOG Self RESOURCE cResource
   REDEFINE BTNBMP ::oBB ID ID_CANCEL OF Self ACTION ::Close()
Return Self

Entiendo que ese cambio es incompatible para atr谩s si se ha usado a Self o :: dentro del codeblock para referir al control definido, pero no creo que hayan muchos casos
porque, en general, donde se usa el comando la referencia al objeto se puede obtener directamente usando la variable local que recoge el control.

En mi caso he probado de redefinir con translate Self con otro nombre en los comandos

Code (fw): Select all Collapse
// MyFive.ch
#xtranslate Self => __Self__
#include 'FiveWin.ch'
#xuntranslate Self => __Self__


pero no me ha funcionado, solo me queda modificarlos a mano.

Otra cosa que tambien me gustar铆a ser铆a que en fivewin se usase el m茅todo IsKindOf( <class> ) en lugar de ClassName en los controles, ya que si creamos una subclase muchas veces hay que modificar el codigo fuente original de FW para que las clases originales mantengan el comportamiento, con la complicaci贸n que eso conlleva al cambiar de versi贸n de FiveWin.

Espero que te resulten interesantes las sugerencias, que a m铆 me vendr铆as de maravillas :-)

Un saludo,

Carlos.
Saludos
Carlos Mora
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
鈥淚f you think education is expensive, try ignorance"
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM

Re: Uso de la palabra reservada Self en la definici贸n de comando

Posted: Sat May 16, 2009 08:30 AM

Carlos,

Gracias por tus sugerencias.

Actualmente estamos en Korea trabajando en un proyecto con FWPPC. En cuanto terminemos, con mucho gusto revisaremos esto que propones.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 989
Joined: Thu Nov 24, 2005 03:01 PM

Re: Uso de la palabra reservada Self en la definici贸n de comando

Posted: Sat May 16, 2009 11:25 AM

驴Korea? 隆Felicitaciones! FWPPC es un inventazo, hay que reconocer que no hay con que darle. ;)

Un saludo

Saludos
Carlos Mora
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
鈥淚f you think education is expensive, try ignorance"
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM

Re: Uso de la palabra reservada Self en la definici贸n de comando

Posted: Sat May 16, 2009 11:48 AM
regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion