Ver Mensaje Individual
  #10  
Antiguo 29-02-2012
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Reputación: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por Chris Ver Mensaje
[...] sino me estoy equivocando, creo que lo que sugieres no funcionaría en este caso [...]
Cita:
Empezado por roman Ver Mensaje
¡Ah caray! Pero esto significaría que ningún campo calculado podría mostrarse en un DBGrid, pero lo cierto es que sí se puede.
Hola Chris, muchas gracias por la aclaración, tienes razón en lo que dices.

Aunque ciertamente depende de cómo sea implementado cada derivado de TDataSet, lo cierto es que la mayoría (TClientDataSet, ADO, IBX, etc.) hacen el cálculo del buffer de registro mucho antes de informar a los enlaces de datos visuales de cualquier movimiento.

Román, esto es similar a aquel asunto del OnValidate que tuvimos el gusto de compartir.

En conclusión, un evento OnCalcFields puede asumir que el valor de cualquiera de los campos es del mismo registro cuyos campos calculados se van a actualizar, pero no necesariamente serán los mismos valores mostrados en los controles de datos.

Siendo así, creo que yo también usaría un evento OnGetText o aún un campo calculado (dependiendo de si el campo original va a estar visible o no al mismo tiempo como texto rico), pero eso sí, con un TRichEdit en lugar de TDBRichEdit, al estilo de las sugerencias anteriores. Y claro, con un poco más de tiempo, optar por llamadas directas a la API de Windows no sería mala idea tampoco.

Un abrazo corregido.

Al González.
Responder Con Cita