Page 1 of 1

problems in Picture clause of SAY command

Posted: Mon Apr 27, 2009 8:04 am
by marzio
@ n,n SAY nVar Picture "999,999,999.99"
in the version fwh 8.12 picture in SAY works fine,
i have tried fwh 9.03 and the follow line visualizes all the commas also with few numbers.
the E operator doesn't work, with the Z operator the box is blank.
i have used xHarbour 1.21

marzio

Re: problems in Picture clause of SAY command

Posted: Tue Apr 28, 2009 9:26 am
by Antonio Linares
Marzio,

Please make this change In Class TSay Method Initiate:

Code: Select all

   ...
   if ::cCaption != nil // don't use Empty() here or blank texts will not show
      // ::SetText( ::cCaption )   previous code
      SetWindowText( ::hWnd, cText )  // new
   else 
      ::cCaption = ::GetText() 
   endif 
   ...
 

Re: problems in Picture clause of SAY command

Posted: Mon May 04, 2009 8:13 am
by marzio
Antonio,
1) with this change, i have a new error:
unrecoverable error 9003, too many recursive error handler calls.

i have tried: SetWindowText( ::hWnd, ::cCaption )
like in fwh 8.12 and so it works well.
what do you think?

2) the ELSE condition in fwh 8.12 is: ::cCaption = GetWindowText( ::hWnd )
the ELSE condition in fwh 9.03 is: ::cCaption = ::GetText()
is this correct for fwh 9.03?

thanks, marzio

Re: problems in Picture clause of SAY command

Posted: Mon May 04, 2009 10:38 am
by Antonio Linares
Marzio,

> unrecoverable error 9003, too many recursive error handler calls

Please review the created error.log and look for the line where the error comes from, and post it here, thanks.

>
the ELSE condition in fwh 9.03 is: ::cCaption = ::GetText()
is this correct for fwh 9.03?
>

Yes, it is correct. We are preparing the code for Unicode full support.

Re: problems in Picture clause of SAY command

Posted: Tue May 05, 2009 6:42 am
by marzio

Code: Select all

Application
===========
   Path and name: T:\marzio\Winclip\Applicazioni\printXls\printXls.exe (32 bits)
   Size: 2,492,928 bytes
   Time from start: 0 hours 0 mins 2 secs 
   Error occurred at: 05/04/09, 10:05:01
   Error description: Error BASE/1003  Variable does not exist: CTEXT
   Args:

Stack Calls
===========
   Called from: say.prg => TSAY:INITIATE(0)
   Called from:  => __OBJSENDMSG(0)
   Called from: harbour.prg => OSEND(0)
   Called from: harbour.prg => ASEND(0)
   Called from: dialog.prg => TDIALOG:INITIATE(0)
   Called from: dialog.prg => TDIALOG:HANDLEEVENT(0)
   Called from:  => DIALOGBOXINDIRECT(0)
   Called from: dialog.prg => TDIALOG:ACTIVATE(0)
   Called from: errsysw.prg => ERRORDIALOG(0)
   Called from: errsysw.prg => (b)ERRORSYS(0)
   Called from: say.prg => TSAY:INITIATE(0)
   Called from:  => __OBJSENDMSG(0)
   Called from: harbour.prg => OSEND(0)
   Called from: harbour.prg => ASEND(0)
   Called from: dialog.prg => TDIALOG:INITIATE(0)
   Called from: dialog.prg => TDIALOG:HANDLEEVENT(0)
   Called from:  => DIALOGBOXINDIRECT(0)
   Called from: dialog.prg => TDIALOG:ACTIVATE(0)
   Called from: errsysw.prg => ERRORDIALOG(0)
   Called from: errsysw.prg => (b)ERRORSYS(0)
   Called from: say.prg => TSAY:INITIATE(0)
   Called from:  => __OBJSENDMSG(0)
   Called from: harbour.prg => OSEND(0)
   Called from: harbour.prg => ASEND(0)
   Called from: dialog.prg => TDIALOG:INITIATE(0)
   Called from: dialog.prg => TDIALOG:HANDLEEVENT(0)
   Called from:  => DIALOGBOXINDIRECT(0)
   Called from: dialog.prg => TDIALOG:ACTIVATE(0)
   Called from: errsysw.prg => ERRORDIALOG(0)
   Called from: errsysw.prg => (b)ERRORSYS(0)
   Called from: say.prg => TSAY:INITIATE(0)
   Called from:  => __OBJSENDMSG(0)
   Called from: harbour.prg => OSEND(0)
   Called from: harbour.prg => ASEND(0)
   Called from: dialog.prg => TDIALOG:INITIATE(0)
   Called from: dialog.prg => TDIALOG:HANDLEEVENT(0)
   Called from:  => DIALOGBOXINDIRECT(0)
   Called from: dialog.prg => TDIALOG:ACTIVATE(0)
   Called from: errsysw.prg => ERRORDIALOG(0)
   Called from: errsysw.prg => (b)ERRORSYS(0)
   Called from: say.prg => TSAY:INITIATE(0)
   Called from:  => __OBJSENDMSG(0)
   Called from: harbour.prg => OSEND(0)
   Called from: harbour.prg => ASEND(0)
   Called from: dialog.prg => TDIALOG:INITIATE(0)
   Called from: dialog.prg => TDIALOG:HANDLEEVENT(0)
   Called from:  => DIALOGBOXINDIRECT(0)
   Called from: dialog.prg => TDIALOG:ACTIVATE(0)
   Called from: errsysw.prg => ERRORDIALOG(0)
   Called from: errsysw.prg => (b)ERRORSYS(0)
   Called from: say.prg => TSAY:INITIATE(0)
   Called from:  => __OBJSENDMSG(0)
   Called from: harbour.prg => OSEND(0)
   Called from: harbour.prg => ASEND(0)
   Called from: dialog.prg => TDIALOG:INITIATE(0)
   Called from: dialog.prg => TDIALOG:HANDLEEVENT(0)
   Called from:  => DIALOGBOXINDIRECT(0)
   Called from: dialog.prg => TDIALOG:ACTIVATE(0)
   Called from: errsysw.prg => ERRORDIALOG(0)
   Called from: errsysw.prg => (b)ERRORSYS(0)
   Called from: say.prg => TSAY:INITIATE(0)
   Called from:  => __OBJSENDMSG(0)
   Called from: harbour.prg => OSEND(0)
   Called from: harbour.prg => ASEND(0)
   Called from: dialog.prg => TDIALOG:INITIATE(0)
   Called from: dialog.prg => TDIALOG:HANDLEEVENT(0)
   Called from:  => DIALOGBOXINDIRECT(0)
   Called from: dialog.prg => TDIALOG:ACTIVATE(0)
   Called from: errsysw.prg => ERRORDIALOG(0)
   Called from: errsysw.prg => (b)ERRORSYS(0)
   Called from: say.prg => TSAY:INITIATE(0)
   Called from:  => __OBJSENDMSG(0)

System
======

Re: problems in Picture clause of SAY command

Posted: Tue May 05, 2009 7:44 am
by Antonio Linares
Marzio,

Please post here your Class TSay Method Initiate() source code, thanks
It seems as you are using an undeclared cText variable there:
Error description: Error BASE/1003 Variable does not exist: CTEXT
...
Called from: errsysw.prg => (b)ERRORSYS(0)
Called from: say.prg => TSAY:INITIATE(0)
...

Re: problems in Picture clause of SAY command

Posted: Tue May 05, 2009 8:08 am
by marzio

Code: Select all

//----------------------------------------------------------------------------// 

METHOD Initiate( hDlg ) CLASS TSay 

   Super:Initiate( hDlg ) 

   if ! IsAppThemed() 
      if ::lTransparent 
         if ! Empty( ::oWnd:oBrush:hBitmap ) .and. !empty( ::oBrush )
            ::SetBrush( ::oWnd:oBrush ) 
         endif 
      endif 
   endif            

   if ::cCaption != nil // don't use Empty() here or blank texts will not show 
      // ::SetText( ::cCaption )   previous code
      SetWindowText( ::hWnd, cText )  // new
   else 
      ::cCaption = ::GetText() 
   endif 


return nil 

//----------------------------------------------------------------------------// 

Re: problems in Picture clause of SAY command

Posted: Wed May 06, 2009 8:33 am
by Antonio Linares
Marzio,

Instead of:

SetWindowText( ::hWnd, cText ) // new

it should be:

SetWindowText( ::hWnd, ::cCaption ) // new