FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Linux y Wine, problema al cerrar ventanas
Posts: 230
Joined: Sat Apr 19, 2008 10:28 PM
Linux y Wine, problema al cerrar ventanas
Posted: Sun Feb 14, 2010 07:37 PM
Hola a todos.

Estoy ejecutando programas hechos con FWH en linux (ubuntu), mediante Wine. La verdad es que funciona muy bien. Me dado cuenta que si se usan ventanas MDI, a veces las dibuja fuera de la pantalla y no se ven. Lo mismo ocurre con las MDIChild. Lo he solucionado añadiendo estas líneas antes de activar la ventana.
Code (fw): Select all Collapse
oWnd:SetCoors( TRect():New( 20 , 20 , 750, 1000 ) )


Ahora tengo otro problema. Abro una ventana child y en ella dibujo un xbrowse. Cuando cierro la ventana, me interesa que se cierre la base de datos del browse. Lo hago de este modo

Code (fw): Select all Collapse
   DEFINE window vv:oWnd2 mdichild of oWnd title "titulo" icon icon1
   vv:oBrw := TXBrowse():New( vv:oWnd2 )
....etc.
    Activate window vv:oWnd2 valid  salir(vv)
return nil

// ------------------------------------------------------- //
static function salir(vv)
(vv:cAlias)->( dbclosearea() )
return .t.


Pues bien, esto da un error :
Error description: Error DBCMD/2001 Workarea not in use: ORDKEYCOUNT

El error es debido a que windows intenta repintar el browse una vez que ya he cerrado la base de datos. Esto lo soluciono añadiendo estas líneas antes de cerrar la base de datos:

Code (fw): Select all Collapse
vv:oBrw:setfocus()
vv:oBrw:cAlias:=""


Esto en "windows" como digo, funciona bien, pero en Wine me sigue dando el error de "Workarea not in use"

¿A alguien le ha pasado lo mismo? ¿Tiene solución?

Muchas gracias.

Alvaro
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Linux y Wine, problema al cerrar ventanas
Posted: Sun Feb 14, 2010 08:32 PM
Alvaro,

Has probado a invertir esas lineas ?
Code (fw): Select all Collapse
vv:oBrw:cAlias:=""
vv:oBrw:setfocus()
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 230
Joined: Sat Apr 19, 2008 10:28 PM
Re: Linux y Wine, problema al cerrar ventanas
Posted: Sun Feb 14, 2010 09:33 PM

Hola Antonio.

Gracias por contestar. Acabo de probar lo que dices. Da el mismo error.

Alvaro

Posts: 230
Joined: Sat Apr 19, 2008 10:28 PM
Re: Linux y Wine, problema al cerrar ventanas
Posted: Mon Feb 15, 2010 10:08 AM
He conseguido hacer que funcione, aunque me gustaría conseguir la solución con menos líneas y sin necesidad de abrir otra ventana mdichild.
Alvaro

Code (fw): Select all Collapse
//----------------------------------------------------------------------------//
   DEFINE window vv:oWnd2 mdichild  of oWnd title "titulo"  icon icon1
   vv:oBrw := TXBrowse():New( vv:oWnd2 )
....etc.
    Activate window vv:oWnd2 valid  salir(vv)
return nil

//----------------------------------------------------------------------------//
static function salir(vv)
local oWnd3
local otimer

DEFINE window oWnd3 mdichild of oWnd title "Cerrando"
DEFINE TIMER otimer INTERVAL 100 ACTION ownd3:end() OF ownd3
ACTIVATE TIMER otimer
   oWnd3:SetCoors( TRect():New( 50 , 50 , 2, 2 ) )
Activate window oWnd3  valid salir2(vv,otimer)

return .t.

//----------------------------------------------------------------------------//
static function salir2(vv,otimer)

RELEASE TIMER otimer
(vv:cAlias)->( dbclosearea() )
... etc (otras líneas de tareas al cerrar)

return .t.
Posts: 230
Joined: Sat Apr 19, 2008 10:28 PM
Re: Linux y Wine, problema al cerrar ventanas
Posted: Thu Mar 11, 2010 10:11 PM

He visto que hay una nueva data bPostEnd en TMdiChild. ¿Soluciona este problema? ¿Cómo está hecho?

Un saludo,

Alvaro

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Linux y Wine, problema al cerrar ventanas
Posted: Thu Mar 11, 2010 10:27 PM
Alvaro,

Code (fw): Select all Collapse
METHOD End() CLASS TMdiChild

   ...

   if ValType( ::bPostEnd ) == 'B'
      Eval( ::bPostEnd )
   endif

return lEnd

Pruébalo por si te solucionase el problema
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 230
Joined: Sat Apr 19, 2008 10:28 PM
Re: Linux y Wine, problema al cerrar ventanas
Posted: Fri Mar 12, 2010 10:52 AM

Si funciona, muchas gracias.

Alvaro

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Linux y Wine, problema al cerrar ventanas
Posted: Fri Mar 12, 2010 11:20 AM

bien! :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 230
Joined: Sat Apr 19, 2008 10:28 PM
Re: Linux y Wine, problema al cerrar ventanas
Posted: Fri Mar 12, 2010 04:35 PM
Hay que añadir " .and. lEnd " por si acaso bValid devuelve falso.

Code (fw): Select all Collapse
if ValType( ::bPostEnd ) == 'B' .and. lEnd
      Eval( ::bPostEnd )
endif


Muchas gracias, ahora las ventanas cierran perfectamente en linux con wine.

Un saludo,

Alvaro
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Linux y Wine, problema al cerrar ventanas
Posted: Fri Mar 12, 2010 08:21 PM

Alvaro,

Incorporamos tu cambio para la próxima versión, gracias :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion