Control Image
Posted: Sun Feb 24, 2013 6:09 pm
Tengo una aplicación en la que muestro una imagen cogiendo su nombre de una tabla. Funciona bien, pero a la hora de cargar o cambiar una imagen lo hace bien, pero no se muestra la nueva hasta que no me desplazo a otro registro y vuelvo. Quisiera que se refrescara la imagen en el momento de cambiarla. Creo que me falta algo. El codigo que empleo es el siguiente:
*************************************************************************
STATIC FUNCTION CargaImagen( cForm , cAlias )
*************************************************************************
LOCAL cFoto := " "
LOCAL cImage:= " "
LOCAL cFotoDestino := " "
LOCAL lDecision
LOCAL cFotoReemplazar := " "
cFoto := Getfile ( { {'Archivos de tipo jpg','*.jpg'} } ,, , .f. , .t. )
cFotoDestino := ExtraeNombre( cFoto )
cFotoReemplazar := "XXXXXXXX.XXX"
IF FILE( ( GetCurrentFolder() ) + "\Fotos\" + cFotoDestino )
lDecision :=MsgYesNo ( "Fichero Existente. Desea reemplazarlo ? " )
IF lDecision
COPY FILE &cFoto TO ( GetCurrentFolder() ) + "\Fotos\" + cFotoReemplazar
DELETE FILE ( GetCurrentFolder() ) + "\Fotos\" + cFotoDestino
FRENAME( ( GetCurrentFolder() ) + "\Fotos\" + cFotoReemplazar , ( GetCurrentFolder() ) + "\Fotos\" + cFotoDestino )
ELSE
Return nil
ENDIF
ELSE
COPY FILE &cFoto TO ( GetCurrentFolder() ) + "\Fotos\" + cFotoDestino
ENDIF
IF !(cAlias)->(RecLock(10))
MsgBox(" Imposible grabar el registro ")
RETURN nil
ENDIF
cFoto := cFotoDestino
( cAlias )->Foto := cFoto
( cAlias )->( DbCommit( ) )
( cAlias )->( DbUnlock( ) )
SetProperty ( cForm, "Image_1" , "picture" , (cAlias)->Foto )
RETURN nil
*************************************************************************
STATIC FUNCTION CargaImagen( cForm , cAlias )
*************************************************************************
LOCAL cFoto := " "
LOCAL cImage:= " "
LOCAL cFotoDestino := " "
LOCAL lDecision
LOCAL cFotoReemplazar := " "
cFoto := Getfile ( { {'Archivos de tipo jpg','*.jpg'} } ,, , .f. , .t. )
cFotoDestino := ExtraeNombre( cFoto )
cFotoReemplazar := "XXXXXXXX.XXX"
IF FILE( ( GetCurrentFolder() ) + "\Fotos\" + cFotoDestino )
lDecision :=MsgYesNo ( "Fichero Existente. Desea reemplazarlo ? " )
IF lDecision
COPY FILE &cFoto TO ( GetCurrentFolder() ) + "\Fotos\" + cFotoReemplazar
DELETE FILE ( GetCurrentFolder() ) + "\Fotos\" + cFotoDestino
FRENAME( ( GetCurrentFolder() ) + "\Fotos\" + cFotoReemplazar , ( GetCurrentFolder() ) + "\Fotos\" + cFotoDestino )
ELSE
Return nil
ENDIF
ELSE
COPY FILE &cFoto TO ( GetCurrentFolder() ) + "\Fotos\" + cFotoDestino
ENDIF
IF !(cAlias)->(RecLock(10))
MsgBox(" Imposible grabar el registro ")
RETURN nil
ENDIF
cFoto := cFotoDestino
( cAlias )->Foto := cFoto
( cAlias )->( DbCommit( ) )
( cAlias )->( DbUnlock( ) )
SetProperty ( cForm, "Image_1" , "picture" , (cAlias)->Foto )
RETURN nil