Page 1 of 1

Recurso en Mdichild

Posted: Mon Jul 03, 2006 3:55 pm
by Jose Luis
Hola amigos:
No habia utilizado nunca recursos en mdichild, y me pongo, y la primera en la frente, en una ventana mdichild que contiene un listbox, haga lo que haga, al intentar utilizar éste listbox para añadir, editar etc, me dice que no existe el alias.
Yo abro las bases de datos así:
dbUseArea(.T.,,cUbica+cSubd+"\Avisos",,.T.)
avisos->(OrdSetFocus("Fecha"))
avisos->( dbGotop() )
El listbox es así:

REDEFINE LISTBOX oLbx FIELDS dtoc(avisos->Fecha),;
dtoc(avisos->Fecha1),;
avisos->pro1,;
avisos->Conductor,;
avisos->Realizado,;
avisos->Incidencia,;
avisos->Operador;
HEADERS " Fecha Aviso "," Fecha Recog. ", " Recoger en "," Conductor "," R ","Incidencia","Operador" ;
FIELDSIZES 70,70,200,60,45,150,150;
ALIAS "Avisos";
CURSOR oCurdedo;
COLOR CLR_BLACK, GetSysColor( COLOR_BTNFACE ) ;
ON LEFT DBLCLICK (iif(!avisos->(eof()) .and. MemVar->cAccesoM,(cTitulo:="Visualización de Avisos ",Entalba(cTitulo,"V",oWPpal),oLbx:Refresh()),.T.));
ID 110 OF oDlg


Hay algo más que tengo que tener en cuenta ?

Saludos

Jose Luis

Posted: Mon Jul 03, 2006 10:06 pm
by Antonio Linares
Jose Luis,

En donde cierras las bases de datos ? Muéstranos el código.

Posted: Tue Jul 04, 2006 4:35 pm
by Jose Luis
Después del listbox

ACTIVATE DIALOG oDlg NOWAIT CENTERED ;
ON INIT (oDlg:Move( 0, 0 ));
ON PAINT (odlg:Saybitmap(0,0,"Nubes.bmp",oDlg:nWidth,oDlg:nHeight))

oWndChild:nWidth := oDlg:nWidth+7
oWndChild:nHeight := oDlg:nHeight+32

ACTIVATE WINDOW oWndChild ON INIT oWPpal:paint() VALID ( oLbx:lCloseArea() ,.t.)

avisos-> (dbCloseArea())
PROVE-> (dbCloseArea())
conduc-> (Dbclosearea())
Almacen->(Dbclosearea())
Ruta-> (Dbclosearea())
Munici-> (Dbclosearea())
return nil

Saludos

Jose Luis

Posted: Tue Jul 04, 2006 4:55 pm
by Antonio Linares
Jose Luis,

La ejecución no se detiene en:

Code: Select all

ACTIVATE WINDOW oWndChild ON INIT oWPpal:paint() VALID ( oLbx:lCloseArea() ,.t.) 
porque es no modal, por lo que llega a:

Code: Select all

avisos-> (dbCloseArea()) 
PROVE-> (dbCloseArea()) 
conduc-> (Dbclosearea()) 
Almacen->(Dbclosearea()) 
Ruta-> (Dbclosearea()) 
Munici-> (Dbclosearea()) 
y cierra las bases de datos. No debes cerrar las bases de datos ahí, sino despues del ACTIVATE WINDOW principal, que si es modal y detiene la ejecución.

Posted: Tue Jul 04, 2006 4:57 pm
by Jose Luis
Gracias Antonio

No me habia dado cuenta que había dejado el cierre de las bases de datos del código anterior.

Saludos

Jose Luis