Orden de disparo de eventos en distintas plataformas
Una gran ventaja de RealBasic es que compila para Mac OS X (Intel y Power pc), Mac OS Classic, Windows 32 y Linux. La magia de este entorno de programación es grande, lo que es perfecto para por ejemplo, aplicaciones que son la cara de un motor de bases de datos como PostgreSQL. Pero cuando desarrollamos algo más y nos vemos forzados a afinar mucho es cuando empezamos a descubrir las diferencias entre plataformas. No hablo de mejor y peor, sino de otra manera. Por ejemplo, hemos creado un programa que realiza una acción cuando el usuario presiona una tecla. Pues esto no es universal, lo es a groso modo, pero no lo es si afinamos un poco más, lo explico: puedes encontrar que en una plataforma se manda el evento a tu programa en el momento en el que se hunde la tecla y en otra plataforma se mandará el mismo evento a tu programa, pero será cuando la tecla se suelte. Esto no cambia nada para un programa corporativo, pero para un programa que depende mucho del momento exacto, es una pega. Otro ejemplo, en nuestros programas alternamos entre ventanas, pues puedes encontrarte con que en una u otra plataforma se ejecute antes el código que hayas escrito relacionado con obtener foco antes que el código que hayas escrito relacionado con activar. Para escapar de estas trampas, una solución es capturar el estado de ambos eventos y que tu código se ejecute cuando ambos ocurran. Otra solución es más pesada, crear condiciones según la plataforma, pero esto alarga el código. Para averiguar qué evento se dispara entes en qué plataforma recuerda que RealBasic trabaja con precisión de microsegundos, captura un millon de registros de tiempo cada segundo.
últimos comentarios