Page 2 of 3
Re: MENUITEM with BLOCK command executed TWICE.
Posted: Tue May 11, 2021 5:01 pm
by cnavarro
I deleted previous link
Please try this and rename to .exe
https://bitbucket.org/fivetech/fivewin- ... rizon2.ex1
Re: MENUITEM with BLOCK command executed TWICE.
Posted: Tue May 11, 2021 5:18 pm
by Horizon
Hi Mr. Navarro,
It is not related to filename. I could not download any file in
https://bitbucket.org/fivetech/fivewin-contributions/downloads/
Re: MENUITEM with BLOCK command executed TWICE.
Posted: Tue May 11, 2021 7:05 pm
by cnavarro
Dear Hakan, why?
Please send me a mail to navarro [ dot ] cristobal [ arroba ] gmail [ dot ] com
Re: MENUITEM with BLOCK command executed TWICE.
Posted: Tue May 11, 2021 8:02 pm
by Silvio.Falconi
this
run ok ( with your funcs)
Code: Select all | Expand
#include "FiveWin.ch"
function Main()
local oWnd
DEFINE WINDOW oWnd MENU BuildMenu()
ACTIVATE WINDOW oWnd
return nil
//---------------------------------------------------------------------------------------------------------//
function BuildMenu()
local oMenu,nhh,baction
MENU oMenu
MENUITEM "First"
MENU
For nhh= 1 to 4
baction:= GenBlock_Faiz(nhh)
MENUITEM "function number "+ltrim(str(nhh)) BLOCK baction
next
ENDMENU
ENDMENU
return oMenu
//---------------------------------------------------------------------------------------------------------//
FUNCTION GenBlock_Faiz(nhh)
LOCAL cProc := "Faiz"+ALLTRIM(STR(nhh))
RETURN {|| &(cProc)() }
//---------------------------------------------------------------------------------------------------------//
Function Faiz4()
return Msginfo("run 4")
Function Faiz3()
return Msginfo("run 3")
Function Faiz2()
return Msginfo("run 2")
Function Faiz1()
return Msginfo("run 1")
On the other hand, if you want to make a popup menu on a window
then it just doesn't workCode: Select all | Expand
#include "FiveWin.ch"
function Main()
local oWnd
DEFINE WINDOW oWnd MENU BuildMenu()
ACTIVATE WINDOW oWnd ;
ON CLICK ShowPopup( nRow, nCol,oWnd )
return nil
function ShowPopup( nRow, nCol,oWnd)
local oPop
MENU oPop POPUP
MENUITEM "Menu popup "
MENU
For nhh= 1 to 4
baction:= GenBlock_Faiz(nhh)
MENUITEM "function number "+ltrim(str(nhh)) BLOCK baction
next
ENDMENU
ENDMENU
ACTIVATE POPUP oPop AT nRow, nCol OF oWnd
return nil
//---------------------------------------------------------------------------------------------------------//
FUNCTION GenBlock_Faiz(nhh)
LOCAL cProc := "Faiz"+ALLTRIM(STR(nhh))
RETURN {|| &(cProc)() }
//---------------------------------------------------------------------------------------------------------//
Function Faiz4()
return Msginfo("run 4")
Function Faiz3()
return Msginfo("run 3")
Function Faiz2()
return Msginfo("run 2")
Function Faiz1()
return Msginfo("run 1")
I would also be interested in solving the problem. thank you
Re: MENUITEM with BLOCK command executed TWICE.
Posted: Wed May 12, 2021 8:41 am
by Horizon
cnavarro wrote:Dear Hakan, why?
Please send me a mail to navarro [ dot ] cristobal [ arroba ] gmail [ dot ] com
Sent.
Re: MENUITEM with BLOCK command executed TWICE.
Posted: Thu May 13, 2021 7:33 am
by Horizon
Any solution?
Re: MENUITEM with BLOCK command executed TWICE.
Posted: Thu May 13, 2021 7:59 am
by cnavarro
Hakan, your mail It was in the span folder and I hadn't seen it
I am seeing how I can send the executable to you
Re: MENUITEM with BLOCK command executed TWICE.
Posted: Thu May 13, 2021 10:52 am
by Horizon
cnavarro wrote:Hakan, your mail It was in the span folder and I hadn't seen it
I am seeing how I can send the executable to you
Hi Mr. Navarro,
I have downloaded and run. Ribbon does not properly work. There is no option Change Style. Menu First works once "run4".
I really dont know where to look.
Re: MENUITEM with BLOCK command executed TWICE.
Posted: Thu May 13, 2021 10:56 am
by Antonio Linares
Dear Hakan,
Could you provide a small and self contained PRG to test here ?
many thanks
Re: MENUITEM with BLOCK command executed TWICE.
Posted: Thu May 13, 2021 11:37 am
by Horizon
Hi,
Code: Select all | Expand
#include "fivewin.ch"
#include "ribbon.ch"
function main()
local oRBar
local oWnd, oMenu
DEFINE WINDOW oWnd TITLE "RibbonBar Test " + FWVERSION from 1,1 to 600,600 pixel //brush oBrush1
Define_RIBBON(oWnd)
SET MESSAGE OF oWnd TO "Testing FWH own Class RibbonBar" ;
CENTERED CLOCK KEYBOARD 2007
ACTIVATE WINDOW oWnd MAXIMIZED
oRBar:End()
return nil
PROCEDURE Define_RIBBON(oWnd)
LOCAL oFaizMenu, oTopluRap, oYetkiVerme
LOCAL oRBar, oGrp11
MENU oFaizMenu POPUP 2007
MENUITEM "test" BLOCK { || MsgInfo( "Hello" ) }
ENDMENU
DEFINE RIBBONBAR oRBar WINDOW oWnd ;
PROMPT "Option 1","Option 2","Option 3" ;
HEIGHT 133 TOPMARGIN 25
oRBar:nLeftMargin := 75
oRBar:CalcPos()
ADD GROUP oGrp11 RIBBON oRBar TO OPTION 1 PROMPT "" WIDTH 200
@ 3, 3 ADD BUTTON oBtn GROUP oGrp11 ;
SIZE 70, 70 PROMPT "Faiz" ;
MENU oFaizMenu POPUP
RETURN
Re: MENUITEM with BLOCK command executed TWICE.
Posted: Thu May 13, 2021 12:13 pm
by karinha
Hello, in this modified example, what should he do?
Code: Select all | Expand
#Include "FiveWin.ch"
#Include "Ribbon.ch"
STATIC oWnd
FUNCTION Main()
LOCAL oRBar
LOCAL oMenu
DEFINE WINDOW oWnd TITLE "RibbonBar Test " + FWVERSION
// Define_RIBBON( oWnd )
SET MESSAGE OF oWnd TO "Testing FWH own Class RibbonBar" ;
CENTERED CLOCK KEYBOARD 2007
ACTIVATE WINDOW oWnd MAXIMIZED ON INIT( Define_RIBBON( oWnd ) )
oRBar:End()
RETURN NIL
PROCEDURE Define_RIBBON(oWnd)
LOCAL oFaizMenu, oTopluRap, oYetkiVerme
LOCAL oRBar, oGrp11, oBtn
MENU oFaizMenu POPUP 2007
MENUITEM "test" BLOCK { || MsgInfo( "Hello" ) }
ENDMENU
DEFINE RIBBONBAR oRBar WINDOW oWnd ;
PROMPT "Option 1","Option 2","Option 3" ;
HEIGHT 133 TOPMARGIN 25
oRBar:nLeftMargin := 75
oRBar:CalcPos()
ADD GROUP oGrp11 RIBBON oRBar TO OPTION 1 PROMPT "" WIDTH 200
@ 3, 3 ADD BUTTON oBtn GROUP oGrp11 ;
SIZE 70, 70 PROMPT "Faiz" ;
MENU oFaizMenu POPUP
RETURN( oFaizMenu )
// FIN
Regards.
Re: MENUITEM with BLOCK command executed TWICE.
Posted: Thu May 13, 2021 12:28 pm
by Horizon
karinha wrote:Hello, in this modified example, what should he do?
Code: Select all | Expand
#Include "FiveWin.ch"
#Include "Ribbon.ch"
STATIC oWnd
FUNCTION Main()
LOCAL oRBar
LOCAL oMenu
DEFINE WINDOW oWnd TITLE "RibbonBar Test " + FWVERSION
// Define_RIBBON( oWnd )
SET MESSAGE OF oWnd TO "Testing FWH own Class RibbonBar" ;
CENTERED CLOCK KEYBOARD 2007
ACTIVATE WINDOW oWnd MAXIMIZED ON INIT( Define_RIBBON( oWnd ) )
oRBar:End()
RETURN NIL
PROCEDURE Define_RIBBON(oWnd)
LOCAL oFaizMenu, oTopluRap, oYetkiVerme
LOCAL oRBar, oGrp11, oBtn
MENU oFaizMenu POPUP 2007
MENUITEM "test" BLOCK { || MsgInfo( "Hello" ) }
ENDMENU
DEFINE RIBBONBAR oRBar WINDOW oWnd ;
PROMPT "Option 1","Option 2","Option 3" ;
HEIGHT 133 TOPMARGIN 25
oRBar:nLeftMargin := 75
oRBar:CalcPos()
ADD GROUP oGrp11 RIBBON oRBar TO OPTION 1 PROMPT "" WIDTH 200
@ 3, 3 ADD BUTTON oBtn GROUP oGrp11 ;
SIZE 70, 70 PROMPT "Faiz" ;
MENU oFaizMenu POPUP
RETURN( oFaizMenu )
// FIN
Regards.
It is still same behavior. there is not change.
Re: MENUITEM with BLOCK command executed TWICE.
Posted: Thu May 13, 2021 6:39 pm
by karinha
I think, that is a defect in your version. Test this example to see what happens. Regards.
Code: Select all | Expand
#include "FiveWin.ch"
#Include "Ribbon.ch"
STATIC oWnd
STATIC lLook := .T.
FUNCTION Main()
LOCAL oRBar
LOCAL oMenu
DEFINE WINDOW oWnd TITLE "RibbonBar Test " + FWVERSION
// Define_RIBBON( oWnd )
SET MESSAGE OF oWnd TO "Testing FWH own Class RibbonBar" ;
CENTERED CLOCK KEYBOARD 2007
ACTIVATE WINDOW oWnd MAXIMIZED ON INIT( Define_RIBBON( oWnd ) )
oRBar:End()
RETURN NIL
PROCEDURE Define_RIBBON(oWnd)
LOCAL oFaizMenu, oTopluRap, oYetkiVerme
LOCAL oRBar, oGrp11, oBtn
MENU oFaizMenu POPUP 2007
MENUITEM "Test Vision" BLOCK { || MsgInfo( "Hello" ), lLook := .F. } ;
WHEN( lLook )
ENDMENU
DEFINE RIBBONBAR oRBar WINDOW oWnd ;
PROMPT "Option 1","Option 2","Option 3" ;
HEIGHT 133 TOPMARGIN 25
oRBar:nLeftMargin := 75
oRBar:CalcPos()
ADD GROUP oGrp11 RIBBON oRBar TO OPTION 1 PROMPT "" WIDTH 200
@ 3, 3 ADD BUTTON oBtn GROUP oGrp11 ;
SIZE 70, 70 PROMPT "Faiz" ;
MENU oFaizMenu POPUP
RETURN( oFaizMenu )
// FIN / END
Re: MENUITEM with BLOCK command executed TWICE.
Posted: Fri May 14, 2021 7:47 am
by Horizon
Horizon wrote:Hi,
Code: Select all | Expand
#include "fivewin.ch"
#include "ribbon.ch"
function main()
local oRBar
local oWnd, oMenu
DEFINE WINDOW oWnd TITLE "RibbonBar Test " + FWVERSION from 1,1 to 600,600 pixel //brush oBrush1
Define_RIBBON(oWnd)
SET MESSAGE OF oWnd TO "Testing FWH own Class RibbonBar" ;
CENTERED CLOCK KEYBOARD 2007
ACTIVATE WINDOW oWnd MAXIMIZED
oRBar:End()
return nil
PROCEDURE Define_RIBBON(oWnd)
LOCAL oFaizMenu, oTopluRap, oYetkiVerme
LOCAL oRBar, oGrp11
MENU oFaizMenu POPUP 2007
MENUITEM "test" BLOCK { || MsgInfo( "Hello" ) }
ENDMENU
DEFINE RIBBONBAR oRBar WINDOW oWnd ;
PROMPT "Option 1","Option 2","Option 3" ;
HEIGHT 133 TOPMARGIN 25
oRBar:nLeftMargin := 75
oRBar:CalcPos()
ADD GROUP oGrp11 RIBBON oRBar TO OPTION 1 PROMPT "" WIDTH 200
@ 3, 3 ADD BUTTON oBtn GROUP oGrp11 ;
SIZE 70, 70 PROMPT "Faiz" ;
MENU oFaizMenu POPUP
RETURN
Antonio, Mr. Navarro,
Can you comfirm the problem?
Re: MENUITEM with BLOCK command executed TWICE.
Posted: Fri May 14, 2021 10:19 am
by Antonio Linares
Hakan,
Yes, bug confirmed. thank you
Using ACTION instead of BLOCK it does not fail
We are reviewing it