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: Select all Expand view
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: Select all Expand view
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: Select all Expand view
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