FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour GET AND PICTURE ERROR
Posts: 3107
Joined: Fri Oct 07, 2005 06:28 PM
GET AND PICTURE ERROR
Posted: Sun Jun 28, 2009 07:40 PM

WHY WHEN i INSERT THE PICTURE MAKE ERROR ?

@9.5,30.8 GET oT:oDat[32] VAR oT:aDat[32] OF oDlc SIZE 65,11 PICTURE "99,999,999.99"

Error description: Error BASE/1122 Argument error: TRANSFORM
Stack Calls
===========
Called from: => TRANSFORM(0)
Called from: LIB\TGET.PRG => TGET:NEW(186)
Called from: source\RIV220.prg => NEWPRENOTA(3712)
Called from: source\RIV220.prg => (b)MENU_AZIONI(1003)
Called from: .\source\classes\MENU.PRG => TMENU:ACTIVATE(0)

Best Regards, Saludos



Falconi Silvio
Posts: 4840
Joined: Fri Nov 18, 2005 04:52 PM
Re: GET AND PICTURE ERROR
Posted: Mon Jun 29, 2009 01:01 PM

Try leaving off the SIZE--maybe SIZE and PICTURE are conflicting.

James

FWH 18.05/xHarbour 1.2.3/BCC7/Windows 10
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: GET AND PICTURE ERROR
Posted: Mon Jun 29, 2009 01:06 PM

I suspect the value of oT:aDat[32] is nil.

Transform( nil, '999.99' ) generates the same runtime error.

Regards



G. N. Rao.

Hyderabad, India
Posts: 3107
Joined: Fri Oct 07, 2005 06:28 PM
Re: GET AND PICTURE ERROR
Posted: Tue Jun 30, 2009 08:38 AM

James and Nas

if i use the resource dialog and make it with redefines command all picture on the dialog run ok
when i use the dialog make with @x,y no resource it nou run

oT:aDat[32] is not nil

because when open the dialog I load all the variables

  oT:oDat[ 1]:Enable()
  oT:oDat[ 1]:Refresh()
  oT:lApp:=oT:lEnd:=oT:lFst:=oT:lNew:=.T.
  (oDCot)->(DbSetOrder(1))
  (oDCot)->(DbGoBottom())
  oT:aDat[ 1]:=StrZero(Val((oDCot)->NumDoc)+1,5)
  (oDCot)->(DbSetOrder(nInd))
  (oDCot)->(DbGoTo(nRec))
  oT:aDat[ 2]:=Date()
  oT:aDat[ 3]:="Cliente"
  oT:aDat[ 4]:=Space( 4)
  oT:aDat[ 5]:=Space(50)
  oT:aDat[ 6]:=Space(35)
  oT:aDat[ 7]:=Space(35)
  oT:aDat[ 8]:=0
  oT:aDat[ 9]:=15
  oT:aDat[10]:=0
  oT:aDat[11]:=0
  oT:aDat[12]:=Space(45)
  oT:aDat[13]:=Space(45)
  oT:aDat[14]:="A"
  oT:aDat[15]:="[ Nuova ]"
  oT:aDat[16]:=2
  oT:aDat[17]:=2
  oT:aDat[19]:="Euro"
  oT:aDat[20]:= 0
  oT:aDat[21]:=oBtn:Cargo[2]  //NUMERO OMBRELLONE
  oT:aDat[22]:=oBtn:Cargo[4]  // NUMERO FILA
  oT:aDat[23]:=oBtn:Cargo[3]  // TIPO OMBRELLONE
  oT:aDat[24]:=ctod("  /  /  ")  // DATA INIZIO
  oT:aDat[25]:=ctod("  /  /  ") // DATA FINE
  oT:aDat[26]:=.F.               // INTERA STAGIONE
  oT:aDat[27]:=0
  oT:aDat[32]:=0        //ACCONTO
  oT:aDat[33]:=.F.     //PAGATO
  oT:cPic1:= "9999999.99"
  oT:cPic2:= "9999999.99"
  oT:cPic3:="9999,999.99"
  oT:cPic4:="9999,999.99"
Best Regards, Saludos



Falconi Silvio
Posts: 3107
Joined: Fri Oct 07, 2005 06:28 PM
Re: GET AND PICTURE ERROR
Posted: Tue Jun 30, 2009 08:40 AM

>Try leaving off the SIZE--maybe SIZE and PICTURE are conflicting.

I try to erase the size and it not run the error is the same

Best Regards, Saludos



Falconi Silvio
Posts: 4840
Joined: Fri Nov 18, 2005 04:52 PM
Re: GET AND PICTURE ERROR
Posted: Tue Jun 30, 2009 11:08 AM

I suggest looking at the preprocessor output to see if it is not creating the correct syntax.

James

FWH 18.05/xHarbour 1.2.3/BCC7/Windows 10
Posts: 3107
Joined: Fri Oct 07, 2005 06:28 PM
Re: GET AND PICTURE ERROR
Posted: Tue Jun 30, 2009 11:20 AM
it compile and link exe file
when I open the exe it make error



@ 3,0.5 GET oT:oDat[ 1] VAR oT:aDat[ 1] SIZE 40,12 OF oDlc PICTURE "999999" VALID Val_Doc() WHEN oT:lNew

@9.5,30.8 GET oT:oDat[32] VAR oT:aDat[32] OF oDlc SIZE 65,11 PICTURE "99,999,999.99"


THIS IS THE PPO
oT:oDat[ 1] := TGet():New( 3, 0.5, { | u | If( PCount()==0, oT:aDat[ 1], oT:aDat[ 1]:= u ) }, oDlc, 40, 12, "999999", {|| Val_Doc()},,,, .F.,, .F.,, .F., {|| oT:lNew}, .F., .F.,, .F., .F., .F.,, .F.,,,, )

oT:oDat[32] := TGet():New( 9.5, 30.8, { | u | If( PCount()==0, oT:aDat[32], oT:aDat[32]:= u ) }, oDlc, 65, 11, "99,999,999.99",,,,, .F.,, .F.,, .F.,, .F., .F.,, .F., .F., .F.,, .F.,,,, )


INSTEAD OF

ON THE RESOURCE DIALOG

REDEFINE GET oT:oDat[ 1] VAR oT:aDat[ 1] ID 101 OF oDlc PICTURE "@K99999" VALID Val_Doc() WHEN oT:lNew run ok

REDEFINE GET oT:oDat[32] VAR oT:aDat[32] ID 127 OF oDlc PICTURE "99,999,999.99" run ok
Best Regards, Saludos



Falconi Silvio
Posts: 4840
Joined: Fri Nov 18, 2005 04:52 PM
Re: GET AND PICTURE ERROR
Posted: Tue Jun 30, 2009 11:28 AM

Silvio,

As I said, I suspect the preprocessor is not generating the proper syntax. Did you check it?

James

FWH 18.05/xHarbour 1.2.3/BCC7/Windows 10
Posts: 4840
Joined: Fri Nov 18, 2005 04:52 PM
Re: GET AND PICTURE ERROR
Posted: Tue Jun 30, 2009 11:44 AM
Silvio,

OK, the preprossor seems to be working OK. This code compiles and runs without error.

James

Code (fw): Select all Collapse
#include "fivewin.ch"

function main()
  local oDlc, oDat, aDat:=0

   define dialog oDlc

   //@9.5,30.8 GET oT:oDat[32] VAR oT:aDat[32] OF oDlc SIZE 65,11 PICTURE "99,999,999.99"

   @1,1 GET oDat VAR aDat OF oDlc SIZE 65,11 PICTURE "99,999,999.99"

   activate dialog oDlc

return nil
FWH 18.05/xHarbour 1.2.3/BCC7/Windows 10
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: GET AND PICTURE ERROR
Posted: Tue Jun 30, 2009 01:41 PM
I again insist that, for whatever reason, the variable is evaluating to NIL.
TRANSFORM(0) error occurs only when NIL is used as first argument of TRANSFORM with picture clause.

Only part of the error log is published.
Code (fw): Select all Collapse
Error description: Error BASE/1122 Argument error: TRANSFORM
Stack Calls
===========
Called from: => TRANSFORM(0)
Called from: LIB\TGET.PRG => TGET:NEW(186)
Called from: source\RIV220.prg => NEWPRENOTA(3712)
Called from: source\RIV220.prg => (b)MENU_AZIONI(1003)
Called from: .\source\classes\MENU.PRG => TMENU:ACTIVATE(0)

Please see what is above Stack Calls in the error log. The lines above will be something like
Error description: Error BASE/1122 Argument error: TRANSFORM
Args:
[ 1] = U
[ 2] = C 9999


Please publish the error long in full and see
Regards



G. N. Rao.

Hyderabad, India
Posts: 3107
Joined: Fri Oct 07, 2005 06:28 PM
Re: GET AND PICTURE ERROR
Posted: Wed Jul 01, 2009 03:51 PM
Nas, If the variable is nil how you instst again why when I use the resource dialog it not make error ?
in first I load a class when I load arrayfor the procedure

oT:=CA_210():New()
Code (fw): Select all Collapse
 CLASS CA_210
   DATA lNew, lAdd, lEnd, lFst, lCap, lApp, lGpo
   DATA oDat, oPar, aPar, oBtn, aTot, aDat, cGpo
   DATA cPic1, cPic2, cPic3, cPic4
   METHOD New() CONSTRUCTOR
ENDCLASS

METHOD New() CLASS CA_210
   ::lNew:=.F.
   ::lAdd:=.F.
   ::lEnd:=.F.
   ::lFst:=.F.
   ::lCap:=.F.
   ::lApp:=.F.
   ::lGpo:=.F.
   ::cGpo:=""
   ::aDat:=Array(33)
   ::oDat:=Array(33)
   ::aPar:=Array(15)
   ::oPar:=Array(15)
   ::oBtn:=Array( 5)
   ::aTot:=Array( 7)
   ::cPic1:= "9999999.99"
   ::cPic2:= "9999999.99"
   ::cPic3:="9999,999.99"
   ::cPic4:="9999,999.99"
RETURN (Self)


then I open the dbf and open the dialog with

Code (fw): Select all Collapse
oDCot:=Apri_Dbf("Cotiza",.T.,.T.,aIdx)
   oT:=CA_210():New()
   cVar:=aIdx[1]
   (oDCot)->(OrdSetFocus(1))

 DEFINE DIALOG oDlc TITLE "Gestione Prenotazioni" ;
      FROM  10,  30 TO  59, 134



then I insert the gets
@ 3,0.5 GET oT:oDat[ 1] VAR oT:aDat[ 1] SIZE 40,12 OF oDlc VALID Val_Doc() WHEN oT:lNew

here the others get

then I activate the dialog
Code (fw): Select all Collapse
ACTIVATE DIALOG  oDlc  CENTER  ;
     ON INIT Carga_Datos(lNew,obtn)
return nil


the function Carga_Datos(lNew,obtn) load the data into variables
Code (fw): Select all Collapse
STAT FUNC Carga_Datos(lNew,oBtn)
   LOCAL nI, nImp, nInd:=(oDCot)->(IndexOrd())
   LOCAL nRec:=(oDCot)->(Recno())
   AFill(oT:aTot,0)
   IF lNew
      oT:oDat[ 1]:Enable()
      oT:oDat[ 1]:Refresh()
      oT:lApp:=oT:lEnd:=oT:lFst:=oT:lNew:=.T.
      (oDCot)->(DbSetOrder(1))
      (oDCot)->(DbGoBottom())
      oT:aDat[ 1]:=StrZero(Val((oDCot)->NumDoc)+1,5)
      (oDCot)->(DbSetOrder(nInd))
      (oDCot)->(DbGoTo(nRec))
      oT:aDat[ 2]:=Date()
      oT:aDat[ 3]:="Cliente"
      oT:aDat[ 4]:=Space( 4)
      oT:aDat[ 5]:=Space(50)
      oT:aDat[ 6]:=Space(35)
      oT:aDat[ 7]:=Space(35)
      oT:aDat[ 8]:=0
      oT:aDat[ 9]:=15
      oT:aDat[10]:=0
      oT:aDat[11]:=0
      oT:aDat[12]:=Space(45)
      oT:aDat[13]:=Space(45)
      oT:aDat[14]:="A"
      oT:aDat[15]:="[ Nuova ]"
      oT:aDat[16]:=2
      oT:aDat[17]:=2
      oT:aDat[19]:="Euro"
      oT:aDat[20]:= 0
      oT:aDat[21]:=oBtn:Cargo[2]  //NUMERO OMBRELLONE
      oT:aDat[22]:=oBtn:Cargo[4]  // NUMERO FILA
      oT:aDat[23]:=oBtn:Cargo[3]  // TIPO OMBRELLONE
     * oT:aDat[24]:=ctod("  /  /  ")  // DATA INIZIO
     * oT:aDat[25]:=ctod("  /  /  ") // DATA FINE
       oT:aDat[24]:=date()  // DATA INIZIO
      oT:aDat[25]:=date() // DATA FINE



      oT:aDat[26]:=.F.               // INTERA STAGIONE
      oT:aDat[27]:=0

      oT:aDat[32]:=0        //ACCONTO
      oT:aDat[33]:=.F.     //PAGATO

      oT:cPic1:= "9999999.99"
      oT:cPic2:= "9999999.99"
      oT:cPic3:="9999,999.99"
      oT:cPic4:="9999,999.99"



      AFill(oT:aPar,"")
      oBPar:GoTop()
      oBPar:Refresh()
      oBPar:Disable()
   ELSE
      oT:lApp:=.F.
      oT:aDat[ 1]:=(oDCot)->NumDoc
      oT:aDat[ 2]:=(oDCot)->FecDoc
      oT:aDat[ 3]:=(oDCot)->TipSol
      oT:aDat[ 4]:=(oDCot)->NumCli
      oT:aDat[ 5]:=(oDCot)->RazSoc
      oT:aDat[ 6]:=(oDCot)->NomSol
      oT:aDat[ 7]:=(oDCot)->NomVen
      oT:aDat[ 8]:=(oDCot)->PorDes
      oT:aDat[ 9]:=(oDCot)->VigCot
      oT:aDat[10]:=(oDCot)->Credit
      oT:aDat[11]:=(oDCot)->ConEnt
      oT:aDat[12]:=(oDCot)->Nota1
      oT:aDat[13]:=(oDCot)->Nota2
      oT:aDat[14]:=(oDCot)->TipCli
      oT:aDat[15]:=IF((oDCot)->Status="C","[ Cancelata ]","[ Consulta ]")
      oT:aDat[16]:=(oDCot)->nDC
      oT:aDat[17]:=(oDCot)->nDP
      oT:aDat[19]:=(oDCot)->TipMon
      oT:aDat[20]:=(oDCot)->TipCam


      oT:aDat[21]:=(oDPre)->Camera      //NUMERO OMBRELLONE
      oT:aDat[22]:=(oDPre)->Fila         // NUMERO FILA
      oT:aDat[23]:=(oDPre)->Tipoattrez  // TIPO OMBRELLONE
      oT:aDat[24]:=(oDPre)->Dal        // DATA INIZIO
      oT:aDat[25]:=(oDPre)->Al         // DATA FINE
      oT:aDat[26]:=(oDPre)->Intera
      oT:aDat[27]:=0

      oT:aDat[32]:=(oDPre)->impacc
      oT:aDat[33]:=(oDPre)->PAGATO

      oT:cPic1:=Get_Pict((oDCot)->nDC,1)
      oT:cPic2:=Get_Pict((oDCot)->nDP,1)
      oT:cPic3:=Get_Pict((oDCot)->nDC,2)
      oT:cPic4:=Get_Pict((oDCot)->nDP,2)

   ENDIF

   oT:aDat[18]:=Control->TasIva
   oT:aTot[7]:=oT:aDat[ 10]



   (oDPar)->(DbSeek(oT:aDat[ 1]))

   DO WHILE (oDPar)->NumDoc==oT:aDat[ 1] .AND. !(oDPar)->(EoF())
      nImp:=(oDPar)->ImpPar
      oT:aTot[1]++
      oT:aTot[2]+=nImp
      oT:aTot[3]+=nImp*((oDPar)->PorDes/100)
      oT:aTot[5]+=(nImp-((oDPar)->PorDes/100))*((oDPar)->TasIva/100)
      (oDPar)->(DbSkip())
   ENDDO
   (oDPar)->(DbSeek(oT:aDat[ 1]))
   Refr_Tot()
   FOR nI=1 TO 4
     oT:oBtn[nI]:Disable()
     oT:oBtn[nI]:Refresh()
   NEXT nI
   FOR nI=1 TO 7
    oT:oPar[nI]:Disable()
    oT:oPar[nI]:Refresh()
   NEXT nI
      oT:oPar[14]:Disable()
       oT:oPar[15]:Disable()
       oT:oPar[14]:Refresh()
       oT:oPar[15]:Refresh()
   FOR nI=1 TO 13
      oT:oDat[nI]:Refresh()
   NEXT nI
   oT:oDat[20]:Refresh()

   oT:oDat[21]:Refresh()
   oT:oDat[22]:Refresh()
   oT:oDat[23]:Refresh()
   oT:oDat[24]:Refresh()
   oT:oDat[25]:Refresh()
   oT:oDat[26]:Refresh()
   oT:oDat[27]:Refresh()
   oT:oDat[28]:Refresh()
   oT:oDat[29]:Refresh()
   oT:oDat[30]:Refresh()
 

   oBPar:Refresh()
RETURN (NIL)



How you can see

oT:aDat[32] is 0 ( zero) can I use the clause picture ( picture "99,999,999.99") for it ?


while

oT:aDat[ 1]:=StrZero(Val((oDCot)->NumDoc)+1,5)
this is a caracter sample 00046 can I use the clause picture ( picture "99999") for it ?



the same code is for the resource dialog
oDCot:=Apri_Dbf("Cotiza",.T.,.T.,aIdx)
oT:=CA_210():New()
cVar:=aIdx[1]
(oDCot)->(OrdSetFocus(1))

....

DEFINE DIALOG oDlc RESOURCE "CAW210" FONT oApp:oFont

REDEFINE GET oT:oDat[ 1] VAR oT:aDat[ 1] ID 101 OF oDlc PICTURE "@K99999" VALID Val_Doc() WHEN oT:lNew


...
REDEFINE GET oT:oDat[32] VAR oT:aDat[32] ID 127 OF oDlc PICTURE "99,999,999.99" //ACCONTO

ACTIVATE DIALOG oDlc ;
ON INIT Carga_Datos(lNew,obtn)



why on resource dialog run ok instead of the dialog made with no resource ?
Best Regards, Saludos



Falconi Silvio

Continue the discussion