FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Error clase TIMAGE
Posts: 44
Joined: Mon Nov 12, 2007 01:50 PM

Error clase TIMAGE

Posted: Tue Aug 11, 2009 04:28 PM
Hola a todos,

Estoy empezando a usar la clase TImage que viene con FH ver 8.02,

El código es el siguiente:
Code (fw): Select all Collapse
   REDEFINE IMAGE oFotoEmp ID 400 OF oDlg_Empleado FILE ( mC20 ) SCROLL UPDATE ;
                 WHEN lNew_Empleado .or. lEdit_Empleado

   REDEFINE BUTTON oBtnFindFotoEmp ID 300 OF oDlg_Empleado  UPDATE;  //buscar Foto Empleado
        ACTION ( FFindFotoEmp(oFotoEmp),oDlg_Empleado:Update() )
   oBtnFindFotoEmp:cTooltip:="Buscar Imagen  Empleado..."


y el de la funcion:
Code (fw): Select all Collapse
   Function FFindFotoEmp(oFotoEmp)
   local gcFile := cGetFile( "Bitmap (*.bmp)| *.bmp|" +         ;
                             "DIB   (*.dib)| *.dib|" +          ;
                             "PCX   (*.pcx)| *.pcx|"  +         ;
                             "JPEG  (*.jpg)| *.jpg|" +          ;
                             "GIF   (*.gif)| *.gif|"  +         ;
                             "TARGA (*.tga)| *.tga|" +          ;
                             "RLE   (*.rle)| *.rle|" +          ;
                             "All Files (*.*)| *.*"             ;
                            ,"Please select a image file", 4 )
  mC20:=gcFile
  oFotoEmp:Reload( , mC20 )
  oFotoEmp:Refresh()
Return nil



La primera vez que abro la ficha y selecciono las imagenes las cargas y las visualiza, pero al guardar la ficha, si abro de nuevo la fucha genera el siguiente error:
Code (fw): Select all Collapse
   Error occurred at: 11/08/2009, 17:07:30
   Error description: Error BASE/1004  Class: 'NIL' has no exported method: SETRANGE
   Args:
     [   1] = U   
     [   2] = N   0
     [   3] = N   0



Alguna idea de por qué sucede esto.

Un cordial saludo
Ernesto
Posts: 537
Joined: Mon Jan 16, 2006 03:42 PM

Re: Error clase TIMAGE

Posted: Tue Aug 11, 2009 06:50 PM

Amigo prueba asi

REDEFINE IMAGE oBmp1 FILENAME cBitmap1 ADJUST ID 114 OF oFld:aDialogs[ 4 ] SCROLL UPDATE

   REDEFINE BUTTON ID 115 OF oFld:aDialogs[ 4 ];
         ACTION( Fot_Jug:= cGetFile32("JPEG (*.jpg) | *.jpg | BITMAP (*bmp)| *.bmp", "Seleccionar Imagen" ), ;
         cBitmap1 := AllTrim( Fot_jug),  oBmp1:LoadBmp( cBitmap1 ), oBmp1:Refresh(),oDlg:Update() )

   REDEFINE GET cBitmap1 ID 116 OF oFld:aDialogs[ 4 ] ON CHANGE( cBitmap1 := AllTrim( Fot_Jug ),;
             oBmp1:Load( cBitmap1 ), oBmp1:Refresh() ) UPDATE

   REDEFINE BTNBMP RESOURCE "ajustar" ID 1001 OF oFld:aDialogs[ 4 ]   NOBORDER ;
               TOOLTIP OemToAnsi( "Ajustar Imagen" ) ACTION  AjustaZoom( oBmp1 ,"S",oSay )

Function AjustaZoom(oBmp,cAccion,oSay)
local nZoom:=oBmp:Zoom()

do case
case cAccion == "S"
oBmp:lStretch := !oBmp:lStretch
oBmp:ScrollAdjust()
oBmp:Refresh( .t. )
case cAccion == "R"
if nZoom*10>1
oBmp:lStretch := .f.
nZoom:=nZoom-(0.10)
oBmp:Zoom(nZoom)
oBmp:Refresh()
oBmp:ScrollAdjust()
endif
case cAccion == "A"
oBmp:lStretch := .f.
nZoom:=nZoom+0.10
oBmp:Zoom(nZoom)
oBmp:Refresh()
oBmp:ScrollAdjust()
endcase
return NIL

Saludos

Posts: 44
Joined: Mon Nov 12, 2007 01:50 PM

Re: Error clase TIMAGE

Posted: Wed Aug 12, 2009 10:44 AM

Muchas gracias, funcionó perfectamente.

De todas formas, una cosa que si he detectato y que sigue dando el error es con imagenes creadas o modificadas con el Paint de Windows.

Continue the discussion