Parametros a pasar al codeblock
Posted: Mon Oct 10, 2011 1:13 pm
Saludos Equipo de FiveWin:
Yo trabajo bastante con los Codeblocks, ya que permiten facilitar el trabajo.
Por esto les pido por favor, si fuera posible, en la clase TXBrwColumn que la evaluación de bStrData envié el parámetro self.
Es decir, cambiar de :
Por:
El problema de ESTANDARIZAR los Parámetros a pasar a los codeblocks también se da acá, en el código:
En versiones anteriores no se pasaba nada, y yo modifique la clase de esta forma:
Este código te permite acceder a los DATA y METHOD de la clase.
Sin embargo si se trata de minimizar código, yo haría algo genérico como esto:
- Coloco primero VarGet(), porque normalmente es con lo que mas se trabaja y se lo necesita a mano
- Luego el mismo objeto
- y luego el padre, que es algo con lo que se trabaja bastante
Con las siguientes reglas:
si es una clase que NO desciende de TControl y no tiene la DATA bSetGet, no se envía este parámetro
si es una clase que NO desciende de TWindows y no tiene la DATA oWnd, no se envía este parámetro
la idea es generalizar el orden del envió de los parámetros.
y claro que tendremos problemas con el código actual, como por ejemplo:
Tal vez seria posible hacer esto para los codeblocks que aun no se los ha implementado.
Bueno, es una idea.
Atentamente,
Rolando.
Saludos desde Cochabamba, Bolivia.
Yo trabajo bastante con los Codeblocks, ya que permiten facilitar el trabajo.
Por esto les pido por favor, si fuera posible, en la clase TXBrwColumn que la evaluación de bStrData envié el parámetro self.
Es decir, cambiar de :
Code: Select all
:
if ( ::bStrData == nil .or. Eval( ::bStrData ) == nil ) .and. ....
:
:
cText := Eval( ::bStrData )
:
Code: Select all
:
if ( ::bStrData == nil .or. Eval( ::bStrData, Self ) == nil ) .and. ....
:
:
cText := Eval( ::bStrData, Self )
:
El problema de ESTANDARIZAR los Parámetros a pasar a los codeblocks también se da acá, en el código:
Code: Select all
nBmpNo := Eval( ::bBmpData, ::Value() )
Code: Select all
nBmpNo := Eval( ::bBmpData, self )
Sin embargo si se trata de minimizar código, yo haría algo genérico como esto:
Code: Select all
Eval( ::bCodeBlock>, ::VarGet(), Self, ::oWnd, <uparam..>, <Uparam..> )
- Luego el mismo objeto
- y luego el padre, que es algo con lo que se trabaja bastante
Con las siguientes reglas:
si es una clase que NO desciende de TControl y no tiene la DATA bSetGet, no se envía este parámetro
si es una clase que NO desciende de TWindows y no tiene la DATA oWnd, no se envía este parámetro
la idea es generalizar el orden del envió de los parámetros.
y claro que tendremos problemas con el código actual, como por ejemplo:
Code: Select all
:
If( ::bUnZip != nil, Eval( ::bUnZip, nPercent ),)
:
If( ::bZip != nil, Eval( ::bZip, nZipInfo ),)
:
Bueno, es una idea.
Atentamente,
Rolando.
Saludos desde Cochabamba, Bolivia.