Page 1 of 1

Como puedo refresH un ojeto

Posted: Fri Sep 22, 2006 10:53 am
by Databaselab2002
Estimado Colegas
Tengo un funcion en la clausula on change de TWBrowse

on change( imagen(cfoto,ofoto))

ReDEFINE image ofoto filename cfoto ID 108 OF oDlg update


Imagen (cfoto,ofoto)

imagen->Foto := cfoto
ofoto:refresh()

como hago para que cada vez que avanzo o retrocedo un registro
me actualice el objeto ofoto,

desde ya muchas gracias
Fabian
databaselab2002@yahoo.com.ar

Posted: Fri Sep 22, 2006 3:41 pm
by Manuel Aranda
Yo lo hago así y funciona perfectamente:

REDEFINE LISTBOX oBj[9] ;
FIELDS ;
" "+DOCU->Concepto+" ",;
" "+DOCU->Ubicado+" ";
FIELDSIZES 240,240 ;
HEADERS OemToAnSi(" Descripci¢n del documento"),OemToAnSi("Ubicaci¢n del archivo de imagen");
ID 509;
ON LEFT DBLCLICK (AltaDocu(oBj[9],"Ver/Modificar datos del documento ",.F.),PonFoto(oFoto,cFoto,oDlg),oBj[9]:SetFocus()); // Al doble click se editar  el registro
OF oDlg

REDEFINE IMAGE oFoto FILENAME LFN2SFN(cFoto) ID 800;
OF oDlg ADJUST UPDATE //SCROLL

oBj[9]:bChange:= {|| PonFoto(oFoto,cFoto,oDlg) }
//

****************************************
STATIC FUNCTION PONFOTO(oFoto,cFoto,oDlg)
****************************************
Local ctitulo:=ALLTRIM(DOCU->Concepto)+" de "+ALLTRIM(CLIENTES->NumCliente)+" - "+ALLTRIM(CLIENTES->Nombre)
cFoto:=LFN2SFN(ALLTRIM(DOCU->Ubicado))
ctitulo:=ALLTRIM(DOCU->Concepto)+" de "+ALLTRIM(CLIENTES->NumCliente)+" - "+ALLTRIM(CLIENTES->Nombre)
//
IF !FILE(LFN2SFN(cFoto))
cFoto="NOHAY.JPG"
ENDIF
//
oFoto:LoadImage(,cFoto)
oFoto:Refresh()
oDlg:cTitle:=cTitulo
oDlg:Refresh()
//
RETURN NIL

Espero te sea de ayuda.
Un saludo,
Manuel