Page 1 of 5
FWH - Nueva Clase TOutLook2003
Posted: Fri Sep 07, 2007 8:03 am
by Antonio Linares
Este es un prototipo de la nueva Clase TOutLook2003 que se incluirá en FWH 7.09 este mes:
Posted: Fri Sep 07, 2007 10:23 am
by MOISES
Antonio:
Muchas gracias por seguir mejorando FW. Es genial!!!. ¿Se podrán poner opciones dentro, como se hacía con la clase anterior?.
Posted: Fri Sep 07, 2007 10:24 am
by Antonio Linares
Moises,
Gracias.
Sí, funciona como un folder:
Se pueden poner diálogos diseñados con el editor de recursos
Posted: Sat Sep 08, 2007 12:43 pm
by Antonio Linares
Una primera demo para probar. Fijaros en el código tan simple
Code: Select all
DEFINE OUTLOOK2003 oOutLook2003 OF oWnd ;
PROMPTS "Mail", "Calendar", "Contacts", "" ;
BITMAPS "mail.bmp", "calendar.bmp", "notes.bmp"
http://rapidshare.com/files/54219595/demo.zip.html
Posted: Sat Sep 08, 2007 5:19 pm
by MOISES
Muy buena, veo que es muy fácil migrar desde la clase anterior. Y el pintado es muy rápido. Enhorabuena!!!
Posted: Sun Sep 09, 2007 5:28 pm
by Carlos Mora
Hola Antonio,
El control esta chulo, es una forma diferente de abordar el modelo a la que tenía en mente, pero está muy bien, creo que así es muy flexible.
Me dirás toca...narices, pero los problemillas de pintado siguen, y ojo que estoy en un ordenador ajeno, con tarjeta gráfica acelerada (es un ordenador para juegos).
http://www.box.net/shared/auuntd7xyh
Has podido ver algo al respecto?
Un saludo,
Carlos
Posted: Sun Sep 09, 2007 6:35 pm
by Antonio Linares
Carlos,
De momento no hay novedad, aunque en los próximos dias vamos a hacer una nueva serie de pruebas en relación al pintado. A ver si damos con la causa
Posted: Sun Sep 09, 2007 6:39 pm
by Antonio Linares
Carlos,
Fijate que en tu imagen el pushbutton y la statusbar estan bien. Luego es algo propio de los controles creados por FWH. A ver si cazamos el bug...
Posted: Sun Sep 09, 2007 6:45 pm
by Antonio Linares
Carlos,
Y la cuestión es que no siempre falla. Ahora estamos probando a mover la calculadora encima del control outlook y no conseguimos reproducir el fallo.
Posted: Sun Sep 09, 2007 7:20 pm
by Antonio Linares
Carlos,
Una posible pista: Define este método en tu control y veamos si se llama:
METHOD Colors( hDC ) INLINE MsgBeep()
Posted: Sun Sep 09, 2007 7:26 pm
by Antonio Linares
Carlos,
Otra posible pista: Si BeginPaint() falla (según la documentación del API de Windows) entonces el hDC devuelto no es válido, por lo que al intentar usarlo más adelante no funcionaría. Una posible prueba sería este cambio:
Code: Select all
METHOD _BeginPaint() CLASS TWindow
local cPS
if ::nPaintCount == nil
::nPaintCount = 1
else
::nPaintCount++
endif
::hDC = BeginPaint( ::hWnd, @cPS )
::cPS = cPS
if ::hDC == 0
MsgBeep() // tenemos un hDC no válido !
endif
return nil
Posted: Sun Sep 09, 2007 8:00 pm
by Carlos Mora
Antonio Linares wrote:Carlos,
Fijate que en tu imagen el pushbutton y la statusbar estan bien. Luego es algo propio de los controles creados por FWH. A ver si cazamos el bug...
Correcto, si es lo que te decía desde el primer día. Antes de comentar el tema hice todas las pruebas y busque con todos los elementos que tenía a mi alcance, pero no soy experto, recien me estoy metiendo en las tripas del asunto y, obviamente, me quedo rápido sin argumentos y tengo que apelar a gente con más horas de vuelo.
Ahora no estoy donde tengo las herramientas, pero seguro que probaremos todas esas alternativas.
Ojo que la imagen que te mostraba con el fallo es de la demo que subiste del nuevo control, no de mi control. Por eso seguí posteando en este hilo.
Gracias por la atención,
Carlos.
Posted: Sun Sep 09, 2007 8:49 pm
by Antonio Linares
Carlos,
Si, hemos visto que es con la demo que hemos publicado.
Sin embargo, aqui no _ de hacerlo fallar. Usamos un ordenador bastante rápido y Vista 32 bits.
Posted: Mon Sep 10, 2007 6:45 am
by Carlos Mora
Lo acabo de probar acá en el equipo del trabajo y te muestro la imagen con el defecto en el pintado. Tambien te pongo la configuración del equipo en la misma imagen.
Probablemente sea, tal como dijimos al principio, cuestion de velocidad, es decir, el defecto no aparece en equipos de alta perfomance. No es problema de la tarjeta de video, porque ayer lo probé en una nVidia de 256 Mb acelerada.
http://www.box.net/shared/hbo1loarvx
A ver si me pongo y pruebo lo que me dijiste.
Un saludo,
Carlos.
Posted: Mon Sep 10, 2007 7:50 am
by Antonio Linares
Usando el nuevo control OutLook2003 desde código y desde recursos:
Code: Select all
REDEFINE OUTLOOK2003 oOutL2003 ID 110 OF oDlg ;
PROMPTS "One", "Two", "Three" ;
BITMAPS "mail.bmp", "calendar.bmp", "notes.bmp" ;
DIALOGS "Page1", "Page2", "Page3"
REDEFINE BUTTON ID 110 OF oOutL2003:aDialogs[ 1 ] ACTION MsgInfo( "Click" )
...