Insisto en el tema ya que todavia no lo he solucionado
Siguiendo las instrucciones de Mr. Rao sobrecargue las funciones SaveState y RestoreState
y con esta funcion grabo las coordenadas de la ventana y del XBRowse
- Code: Select all Expand view RUN
FUNCTION SaveWinData(oWnd,oBrw,cAlias )
LOCAL oIni
INI oIni File cDirectApp + "\OBRAW.INI"
oIni:Set( cAlias, "window", oWnd:SaveState() )
oIni:Set( cAlias, "browse", oBrw:SaveState() )
RETURN NIL
El fichero .ini grabado me sale con estos datos.
- Code: Select all Expand view RUN
[Obr]
browse=XS1:{{"_nCreationOrders",{1,2,3,4}},{"_nRowHeight",21},{"_nWidths",{81.30,149.05,321.65,365.85}},{"_lHides",{.F.,.F.,.F.,.F.}},{"_cGrpHdrs",{,,,}},{"_cHeaders",{"CODIGO","C.I.F.","NOMBRE","DIRECCION"}}}
window=2C0000000000000001000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000930500006D020000
Con el browse no tengo problemas en recuperar sus datos al crear la ventana hija
- Code: Select all Expand view RUN
ON INIT ReadWinData(oBrw,cAlias)
el codigo de la funcion es el siguiente
- Code: Select all Expand view RUN
FUNCTION ReadWinData(oBrw, cAlias ) // Falta oWnd
LOCAL oIni
INI oIni File cDirectApp + "\OBRAW.INI"
// oWnd:RestoreState( oIni:Get( cAlias, "window", "" ) )
oBrw:RestoreState( oIni:Get( cAlias, "browse", "" ) )
RETURN NIL
Pero cuando quito el comentario e intento restaurar los datos de la ventana pasandole el parametro de la ventana me da error.
Que hago mal? en el ON INIT de la ventana puedo pasar su mismo parametro o sea este codigo.?
¿En lugar de ON INIT que evento podria utilizar para leer los datos de la ventana?
- Code: Select all Expand view RUN
ACTIVATE WINDOW OWndObr ON INIT ReadWinData(oWndObr,oBrw,cAlias)
Muchisimas gracias.
Jose