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

Post Reply
Carlos Mora
Posts: 988
Joined: Thu Nov 24, 2005 3:01 pm
Location: Madrid, España

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

Post by Carlos Mora »

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

#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 _
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

// 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"
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

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

Post by Antonio Linares »

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
Carlos Mora
Posts: 988
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

Post by Carlos Mora »

¿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"
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

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

Post by Antonio Linares »

regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply