Page 1 of 1

BUG in TToast!?

Posted: Tue Oct 23, 2018 8:41 pm
by byte-one
If i use the DATA bReturn this codeblock will never calling. I see in the source of this class that ::end() is using and not :destroy(), also the method :destroy() with the bReturn-codeblock is ignored!

Re: BUG in TToast!?

Posted: Tue Oct 23, 2018 8:46 pm
by cnavarro
Please explain what you need and the purpose of using TToast

Re: BUG in TToast!?

Posted: Tue Oct 23, 2018 9:01 pm
by byte-one
I will at end of my programm show a TToast-alert with a delay of 5 seconds. But the ending from my program waits not to the end from the TToast. So i pack the code from ending the program in the bReturn-codeblock but no call to this codeblock is executed!

Re: BUG in TToast!?

Posted: Tue Oct 23, 2018 9:34 pm
by cnavarro
Dear Günther, this run ok, for me
MsgStop is show at end

Code: Select all


   oMsg := TToast():NewToast( 4, cM, cBmp, 320, nH, oWindow, ;
                              Rgb( 88, 88, 88 ), Rgb( 88, 88, 88 ), ;
                              CLR_WHITE, , nT, .F.,, .F. )
   TipTimeHide( 0.008 )
   oMsg:bReturn     := { || MsgStop( "Final" ) }
   oMsg:lCenterText := .T.
   oMsg:bValid      := { || TipTransHide( oMsg ), .T. }
   oMsg:ActivaAlert( oWindow )

 

Re: BUG in TToast!?

Posted: Tue Oct 23, 2018 9:39 pm
by cnavarro
Which version of fw do you use?

Re: BUG in TToast!?

Posted: Tue Oct 23, 2018 9:53 pm
by byte-one
FWH 18.04
I see, you use TToast():NewToast(….) i use TTost():New(….)

Re: BUG in TToast!?

Posted: Tue Oct 23, 2018 10:04 pm
by byte-one
I am using NewToast() but no ok. If i use ttoast on start from the program in the clausula ON INIT with a bReturn the program freezes!

Re: BUG in TToast!?

Posted: Tue Oct 23, 2018 10:08 pm
by cnavarro
byte-one wrote:I am using NewToast() but no ok. If i use ttoast on start from the program in the clausula ON INIT with a bReturn the program freezes!
Not use TToast at ON INIT

Re: BUG in TToast!?

Posted: Tue Oct 23, 2018 10:10 pm
by cnavarro
This code run ok for me also, and bReturn is run at end

Code: Select all


Function HazAlert1( oWnd, lLines, lBmp, lMnu )

   local oTip
   local oBrw

   DEFAULT lLines  := .T.
   DEFAULT lBmp    := .T.
   DEFAULT lMnu    := .F.                     // CLR_RED, CLR_WHITE
   oTip := TToast():New( 0, 0, 290, 350, oWnd, , , , , 0 , 0, nLevel,,,, lUp,,,, lLeft )

   WITH OBJECT oTip
      :nTimer             := nT
      :lLineHeader        := lLines
      :nClrTextHeader     := CLR_GREEN
      :cHeader            :=  "Header"
      if lBmp
         :cBmpHeader         := "..\bitmaps\16edit.bmp" //people2.bmp"  //"..\bitmaps\16edit.bmp"
      endif
      
      :lLineFoot          := lLines
      :nClrTextFoot       := CLR_YELLOW
      :lRightAlignFoot    := .T.
      if lBmp
         :cBmpFoot           := "..\bitmaps\save16.bmp" //pdf.bmp"      //"save16.bmp"
      endif
      
      :lSplitHdr          := .T.
      :lLeft              := lBmp
      if lBmp
         :cBmpLeft           := "..\bitmaps\attach.bmp"  //"16code.bmp"
      endif
      
      :lRightAlignBody    := .F.
      :nClrTextBody       := CLR_BROWN
      :cBody              := "En un lugar de la Mancha de cuyo nombre no quiero acordarme"
      
      //:lBtnClose          := .T.
      :lBorder            := .F.
      if lMnu
         :bMnuFoot  := { | nRow, nCol, oWnd | MnuConfig( nRow, nCol, oWnd ) }
      endif

      :bReturn      := { || MsgStop( "Stop" ) }

      :CreateFromCode()
   END
   
Return oTip

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


 

Re: BUG in TToast!?

Posted: Tue Oct 23, 2018 10:15 pm
by cnavarro
cnavarro wrote:
byte-one wrote:I am using NewToast() but no ok. If i use ttoast on start from the program in the clausula ON INIT with a bReturn the program freezes!
Not use TToast at ON INIT
I tested using TToast in clause ON INIT and run OK also

Re: BUG in TToast!?

Posted: Tue Oct 23, 2018 10:48 pm
by cnavarro
Günther, try with this sample and tell me

Code: Select all


#include "Fivewin.ch"


Static oWnd
Static oMsg
Static nTimeMsg          := 0.05

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

Function Main()


   DEFINE WINDOW oWnd TITLE "TToast Test at INIT" MENU BuildMenu()



   ACTIVATE WINDOW oWnd MAXIMIZED ON INIT MyMessage( "Inicializando....." + CRLF + "Atencion", , )

Return nil

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

Function BuildMenu()

   local oMenu
   MENU oMenu
     MENUITEM "Files"
        MENU
           MENUITEM "Edit"
           SEPARATOR
           MENUITEM "Exit" ACTION oWnd:End()
        ENDMENU
     MENUITEM "Help"
   ENDMENU

Return oMenu

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

Static Function MyMessage( cM, nT, nC )

   local cBmp
   local nH   := 0
   DEFAULT cM := "No messages"
   DEFAULT nT := nTimeMsg * 1000

   if !Hb_IsNil( oMsg )
      oMsg:BuildTimer( .T. )
      oMsg:End()
      oMsg    := nil
   endif

   cM         += CRLF + " ... "
   nH         := Max( NumAt( CRLF, cM ) - 3, 3 ) * 48
   oMsg := TToast():NewToast( 4, cM, cBmp, 320, nH, oWnd, ;
                              Rgb( 88, 88, 88 ), Rgb( 88, 88, 88 ), ;
                              CLR_WHITE, , nT, .F.,, .F. )
   TipTimeHide( 0.008 )
   oMsg:bReturn     := { || MsgStop( "Final" ) }
   oMsg:lCenterText := .T.
   oMsg:bValid      := { || TipTransHide( oMsg ), .T. }
   oMsg:ActivaAlert()

Return oMsg

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

Re: BUG in TToast!?

Posted: Wed Oct 24, 2018 9:38 am
by byte-one
Cristobal, i have changed the code. Now it seems to functioning. Please see.

Code: Select all

METHOD Destroy() CLASS TToast

   if !Empty( ::oFontHdr )
      ::oFontHdr :End()
   endif
   if !Empty( ::oFontHdr2 )
      ::oFontHdr2:End()
   endif
   if !Empty( ::oFontBody )
      ::oFontBody:End()
   endif
   if !Empty( ::oFontFoot )
      ::oFontFoot:End()
   endif
   if !Empty( ::hRgn )
      DeleteObject( ::hRgn )
   endif
   if valtype(::bReturn) == "B"
    Eval( ::bReturn )
   endif
   ::Super:Destroy()
   if ::lHistory
      ::DelToast()
   endif

Return nil//Eval( ::bReturn ) //, oSelf

Re: BUG in TToast!?

Posted: Wed Oct 24, 2018 10:38 am
by cnavarro
Ok, it is another possibility that I will have to evaluate, but it seems that it can work without problems
I will keep you informed