Page 1 of 5

FWH - Nueva Clase TOutLook2003

PostPosted: 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:
Image

PostPosted: 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?.

PostPosted: 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 :-)

PostPosted: 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  Expand view
   DEFINE OUTLOOK2003 oOutLook2003 OF oWnd ;
      PROMPTS "Mail", "Calendar", "Contacts", "" ;
      BITMAPS "mail.bmp", "calendar.bmp", "notes.bmp"

http://rapidshare.com/files/54219595/demo.zip.html

PostPosted: 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!!!

PostPosted: 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

PostPosted: 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

PostPosted: 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...

PostPosted: 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.

PostPosted: 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()

PostPosted: 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  Expand view
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

PostPosted: 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.

PostPosted: 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 somos capaces de hacerlo fallar. Usamos un ordenador bastante rápido y Vista 32 bits.

PostPosted: 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.

PostPosted: Mon Sep 10, 2007 7:50 am
by Antonio Linares
Usando el nuevo control OutLook2003 desde código y desde recursos:
Code: Select all  Expand view
   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" )
   ...

Image