Andrés,
Con elegante, me refiero a: entendible, "limpio" y por supuesto OPTIMIZADO, como bien sugieres con razón. En este caso para mí lo elegante es que el Browse por sí mismo, la primera vez que toma el foco, evaluase el ON CHANGE, sin tener que hacer estos "apaños".
La decisión de adoptar esa otra alternativa frente a la mía, es por el simple motivo de que permite ampliar con más acciones el bGotfocus. Me permite hacer esto que me es también necesario:
Code: Select all
oBrowPed:bGotFocus := { || eval( oBrowPed:bchange ), MsgInfo( "Actulizado" ), oBtnActCms:Enable() }
... Que sinceramente, soy novato en Fivewin, no veía manera mejor de hacerlo con el método que yo proponía. Seguramente existan muchas más alternativas, unas más optimizadas, otras menos y unas resolverán un caso concreto y otras otros, por lo que me parece que "tildar" de "pésima programación" una metodología para la solución de un problema, me parece poco prudente, pues en este caso hemos resuelto varias cosas, a falta de una alternativa mejor, que seguro 100% existe.
Por otro lado, sigues teniendo mucha razón en que programar no es solo ponerse a teclear, pero creo que todos tratamos siempre de optimizar al máximo posible nuestro código y cuando algo no nos parece "elegante" o no soluciona el problema 100%, tenemos estos foros en los que compañeros nos ayudan con sus experiencias como es tu caso y el de Raymundo, por lo que, sinceramente, os estoy muy agradecido a ambos.
Muchas gracias!