Page 1 of 1

touch.prg error

PostPosted: Fri Jun 27, 2014 12:10 pm
by D.Fernandez
Hola amigos:
Algiuien me ayuda con este error que se produce en touch.prg.
Se produce luego de mover la pantalla hacia arriba y me queda la manito...

Gracias.

Application
===========
Path and name: C:\fwh1404\samples\touch.exe (32 bits)
Size: 2,934,784 bytes
Compiler version: Harbour 3.2.0dev (r1307082134)
FiveWin Version: FWH 14.04
Windows version: 6.1, Build 7601 Service Pack 1

Time from start: 0 hours 0 mins 2 secs
Error occurred at: 06/27/14, 09:01:44
Error description: Error BASE/1004 Message not found: TBTNFLAT:DEFCONTROL
Args:
[ 1] = O TBTNFLAT

Stack Calls
===========
Called from: => __ERRRT_SBASE( 0 )
Called from: ../../../tobject.prg => TBTNFLAT:ERROR( 0 )
Called from: ../../../tobject.prg => (b)HBOBJECT( 0 )
Called from: ../../../tobject.prg => TBTNFLAT:MSGNOTFOUND( 0 )
Called from: ../../../tobject.prg => TBTNFLAT:DEFCONTROL( 0 )
Called from: .\source\classes\BTNFLAT.PRG => TBTNFLAT:NEW( 108 )
Called from: touch.prg => LOGIN( 329 )
Called from: touch.prg => (b)MAIN( 39 )
Called from: .\source\classes\WINDOW.PRG => TWINDOW:LBUTTONDOWN( 1942 )
Called from: => TWINDOW:HANDLEEVENT( 0 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3236 )
Called from: => WINRUN( 0 )
Called from: .\source\classes\WINDOW.PRG => TWINDOW:ACTIVATE( 1003 )
Called from: touch.prg => MAIN( 39 )

System

Re: touch.prg error

PostPosted: Fri Jun 27, 2014 12:47 pm
by karinha

Re: touch.prg error

PostPosted: Fri Jun 27, 2014 2:19 pm
by Antonio Linares
Ruben,

Has modificado touch.prg ?

Aqui funciona bien

Re: touch.prg error

PostPosted: Fri Jun 27, 2014 2:22 pm
by D.Fernandez
No Antonio: Nada de nada, solo el ejemplo.

Gracias.

Re: touch.prg error

PostPosted: Fri Jun 27, 2014 2:27 pm
by Antonio Linares
En la Clase TFlatBtn usamos este código:

Code: Select all  Expand view
  if ! Empty( oWnd:hWnd )
      ::Create()
      ::SetColor( XEval( ::nClrText ), ::nClrPane )
      oWnd:AddControl( Self )
   else
      oWnd:DefControl( Self )
   endif


Luego si el error lo da en DefControl, quiere decir que por alguna razón la ventana principal no se ha creado, pues su DATA hWnd vale cero ó nil, y entonces pasa por el else.

Para segurarnos añade este método a la Clase TFlatBtn y vuelve a probarlo:

METHOD DefControl() VIRTUAL

Re: touch.prg error

PostPosted: Fri Jun 27, 2014 2:34 pm
by D.Fernandez
Antonio en la version 14.04 la clase btnflat dice esto

if ! Empty( oWnd:hWnd )
::Create()
::SetColor( XEval( ::nClrText ), ::nClrPane )
if ::oFont == nil
::SetFont( ::oFont )
else
::GetFont()
endif

Gracias, la estoy modificando.

Re: touch.prg error

PostPosted: Fri Jun 27, 2014 2:56 pm
by D.Fernandez
Antonio: Cuando entro en la aplicacion y deslizo la pantalla hacia arriba, ingreso los datos, pero no aparece ningun boton de segiuir o cancelar...
Ya hice lo cambios en flatbtn y la agregue al proyecto.
Gracias.

Re: touch.prg error

PostPosted: Fri Jun 27, 2014 5:44 pm
by Antonio Linares
Ruben,

Que resolución de pantalla usas ?

Prueba a darle a tabulación para ver si asi llegas hasta el boton de OK

Re: touch.prg error

PostPosted: Sat Jun 28, 2014 1:33 am
by D.Fernandez
Antonio uso : 1366 X 768

Gracias.

Re: touch.prg error

PostPosted: Sat Jun 28, 2014 5:20 am
by Antonio Linares
Ruben,

La resolución que uso es menor (1280x800) y se ve bien.

Puedes poner una captura de pantalla de cómo se ve ? gracias

Re: touch.prg error

PostPosted: Sat Jun 28, 2014 10:51 am
by RubenFernandez
Si Antonio, gracias en cuanto llegue a mi casa, gracias ahora estoy en el trabajo. Gracias

Re: touch.prg error

PostPosted: Sun Jun 29, 2014 8:47 am
by cnavarro
Antonio, a mi tambien me ha dado algun error como el que se comenta.
Creo que el problema, que existe desde la version 14.04 puede ser el siguiente:

Code: Select all  Expand view


   //oWnd  := Self        // -> Comentar esta linea

   do while ::oFont == nil .and. oWnd:oWnd != nil
      oWnd     := oWnd:oWnd
      ::oFont  := oWnd:oFont
   enddo
   if ::oFont == nil .and. WndMain() != nil
      ::oFont  := WndMain():oFont
   endif


   ::Register( nOR( CS_VREDRAW, CS_HREDRAW ) )

   if ! Empty( oWnd:hWnd

       .../...

 


Asi lo he probado y aparentemente ya no da el error en el DefControl

Re: touch.prg error

PostPosted: Sun Jun 29, 2014 9:30 am
by Antonio Linares
Cristobal,

En que clase has hecho esa modificación ? No lo localizo.

gracias!

Re: touch.prg error

PostPosted: Sun Jun 29, 2014 9:50 am
by cnavarro
En el metodo New de la clase CLASS TBtnFlat version 14.04, que según parece es a la que se refería el compañero

En la version 14.06 ese código no está, y las pruebas que he realizado funcionan correctamente

Re: touch.prg error

PostPosted: Sun Jun 29, 2014 12:52 pm
by Antonio Linares
Cristobal,

ok, gracias :-)