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.