Parametros a pasar al codeblock

Post Reply
RSalazarU
Posts: 177
Joined: Wed Jul 16, 2008 12:59 pm
Location: Cochabamba-Bolivia
Contact:

Parametros a pasar al codeblock

Post by RSalazarU »

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 :

Code: Select all

   :
   if ( ::bStrData == nil .or. Eval( ::bStrData ) == nil ) .and. ....
   :
   :
   cText := Eval( ::bStrData )
   :
 
Por:

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() )
 
En versiones anteriores no se pasaba nada, y yo modifique la clase de esta forma:

Code: Select all

      nBmpNo := Eval( ::bBmpData, self )
 
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:

Code: Select all

      Eval( ::bCodeBlock>, ::VarGet(), Self, ::oWnd, <uparam..>, <Uparam..> )
 
- 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:

Code: Select all

:
If( ::bUnZip != nil, Eval( ::bUnZip, nPercent ),)
:
If( ::bZip != nil, Eval( ::bZip, nZipInfo ),)
:
 
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.
Post Reply