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

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

Postby Carlos Mora » Mon May 11, 2009 5: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: Select all  Expand view  RUN

#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: Select all  Expand view  RUN

// 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
“If you think education is expensive, try ignorance"
Carlos Mora
 
Posts: 989
Joined: Thu Nov 24, 2005 3:01 pm
Location: Madrid, España

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

Postby Antonio Linares » Sat May 16, 2009 8: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
User avatar
Antonio Linares
Site Admin
 
Posts: 42118
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

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

Postby Carlos Mora » 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
“If you think education is expensive, try ignorance"
Carlos Mora
 
Posts: 989
Joined: Thu Nov 24, 2005 3:01 pm
Location: Madrid, España

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

Postby Antonio Linares » Sat May 16, 2009 11:48 am

regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42118
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to To do - WishList / Por hacer - Peticiones

Who is online

Users browsing this forum: No registered users and 12 guests