Page 1 of 2

Menu 2007

Posted: Wed Apr 07, 2010 12:06 pm
by fmontepo
Buenos días a toda la gente del foro. Quisiera hacer una consulta por causa de un error que me está ocurriendo cuando agrego la clúsula 2007 en la definición de un MENU.

Menu oM 2007

me aparece el error 9003 --> too many recursive error handles calls.
La misma definición de menu sin 2007 no causa error.
Saludos y gracias.
Fernando.

Re: Menu 2007

Posted: Wed Apr 07, 2010 12:55 pm
by MGA
Eu já havia mencionado isso tambem:

http://forums.fivetechsupport.com/viewt ... it=+ilegal

Re: Menu 2007

Posted: Wed Apr 07, 2010 2:35 pm
by fmontepo
SGS, pudiste solucionar el problema...

Re: Menu 2007

Posted: Wed Apr 07, 2010 3:05 pm
by MGA
Fernando,

Não obtive resposta do Sr. Antonio, e a unica maneira de resolver o problema foi retirando 2007.


Menu oM //2007 <--comentado

assim resolveu o meu problema.

Re: Menu 2007

Posted: Wed Apr 07, 2010 4:08 pm
by fmontepo
Ja ja ja ja !!! Bueno, me quedo tranquilo, adopté la misma solución que vos. Pero es una lástima porque me hacía la ventana principal del sistema más linda visualmente.
Saludos.

Re: Menu 2007

Posted: Thu Apr 08, 2010 2:17 pm
by fmontepo
Lo raro es que no haya más comentarios....
Saludos.

Re: Menu 2007

Posted: Thu Apr 08, 2010 2:53 pm
by MGA
Concordo plenamente Fernando!

Re: Menu 2007

Posted: Thu Apr 08, 2010 4:54 pm
by Ruben Fernandez
Estimados compañeros:

Yo lo tengo asi y me funciona..

STATIC FUNCTION MainMenu()
LOCAL oMenu
MENU oMenu 2007

Saludos Ruben Fernandez

Re: Menu 2007

Posted: Thu Apr 08, 2010 7:12 pm
by MGA
Ruben,

No meu caso o erro acontece se usar muito o MENU 2007.

Re: Menu 2007

Posted: Thu Apr 08, 2010 11:41 pm
by mmercado
Hola Fernando, Ubiratan:
SGS wrote:No meu caso o erro acontece se usar muito o MENU 2007.
En todas mis aplicaciones utilizo intensivamente los menúes con la cláusula 2007 y nunca me he topado con el error que mencionan.

Yo recomendaría que revisen la instalación del sistema operativo en la máquina donde se presenta el error, ya que están privando a sus aplicaciones de una valiosa facilidad visual.

Un abrazo.

Re: Menu 2007

Posted: Fri Apr 09, 2010 12:36 pm
by MGA
Sr. Manuel, Antonio:

Muito obrigado por responder Sr. Manuel, consegui reproduzir o problema aqui:

Montei este teste de exemplo em cima do fwh/samples/testfldm.prg pode ser usar o RECURSO referente.
O erro acontece se a CLAUSULA 2007 estiver no MENU ( MENU 2007) e o tema do WINDOWS for o classico ou diferente do tema XP.

Para reproduzir o problema:

1) Execute o exemplo.
2) Click na button bar e abra WINDOW child.
3) Va em Menu->Test MULTILINE Folder

Comigo acontece um erro do windows (Este programa executou uma operação ilegal e sera fechado)

PRG:

Code: Select all

#include "FiveWin.ch"
#include "folder.ch"

static oWnd

*****************
FUNCTION Main()
*****************
Local oBar

DEFINE WINDOW oWnd FROM 5,5 TO 25,75 ;
TITLE "Folders Test" ;
MENU BuildMenu() MDI

DEFINE BUTTONBAR oBar 3D OF oWnd 2007 SIZE 600,33
DEFINE BUTTON prompt "CLICK AQUI e depois MENU->Test Multiline Folder" OF oBar ACTION CustomerBrowse()

SET MESSAGE OF oWnd TO "FiveWin xBase power!" CENTERED 2007
ACTIVATE WINDOW oWnd MAXIMIZED
RETURN(NIL)

*********************
FUNCTION BuildMenu()
*********************
LOCAL oMenu
MENU oMenu 2007   <---[b]2007 com o tela classico acontece o erro[/b]
 MENUITEM "Test Folders"
 MENU
 MENUITEM "Test MULTILINE Folder"  ACTION MultiFold()
 MENUITEM "Close Window"           ACTION oWnd:End()
 ENDMENU
ENDMENU
RETURN(oMenu)

********************
FUNCTION MultiFold()
********************
   local oDlg, oFld
   local oGet1, cGet1 := "This is a Test!", oGet2, cGet2, oGet3, cGet3
   local oGet4, cGet4, oGet5, cGet5, oGet6, cGet6, oGet7, cGet7, oget8, cGet8

DEFINE DIALOG oDlg RESOURCE "Shel_ent" of oWnd
REDEFINE FOLDER oFld ID 11 of oDlg ;
  PROMPT  "Identification","Composition", "Phys. Properties","Fire, Explosion", "Reactivity", "HazardEval", "Chronic Hazards", "Other Info" ;
  DIALOGS "create_1",      "create_2",    "create_3",        "create_4",        "create_5",   "create_6",   "create_7",        "create_8"

REDEFINE GET oGet1 VAR cGet1 ID 101 of oFld:aDialogs[1] UPDATE
REDEFINE GET oGet2 VAR cGet2 ID 101 of oFld:aDialogs[2] UPDATE
REDEFINE GET oGet3 VAR cGet3 ID 101 of oFld:aDialogs[3] UPDATE
REDEFINE GET oGet4 VAR cGet4 ID 101 of oFld:aDialogs[4] UPDATE
REDEFINE GET oGet5 VAR cGet5 ID 101 of oFld:aDialogs[5] UPDATE
REDEFINE GET oGet6 VAR cGet6 ID 101 of oFld:aDialogs[6]
REDEFINE GET oGet7 VAR cGet7 ID 101 of oFld:aDialogs[7]
REDEFINE GET oGet8 VAR cGet8 ID 101 of oFld:aDialogs[8]
REDEFINE BUTTON ID 10 of oDlg ACTION MsgInfo("OK Action is Here!")
REDEFINE BUTTON ID 2 of oDlg ACTION oDlg:End()
REDEFINE BUTTON ID 998 OF oDlg ACTION MsgInfo("Help Will be here")
ACTIVATE DIALOG oDlg CENTERED RESIZE16  ON INIT oFld:AdjustRect() // only if using RESIZE16
RETURN(NIL)
*******************************
function CustomerBrowse()
*******************************
   local oWndChild, oBrw, oFld
   local cAlias
   USE Customer NEW ALIAS ( cAlias := GetNewAlias( "CUST" ) ) SHARED
   DEFINE WINDOW oWndChild MDICHILD TITLE Alias()
   @ 2, 2 FOLDER oFld PROMPTS "Browse", "Second", "Last" OF oWndChild
   oWndChild:SetControl( oFld )
   @ 0, 0 LISTBOX oBrw ;
      FIELDS  ( cAlias )->First, ( cAlias )->Last ;
      HEADERS "First",           "Last" OF oFld:aDialogs[ 1 ]
   oFld:aDialogs[ 1 ]:SetControl( oBrw )
   oWndChild:Activate()
   oWndChild:MAXIMIZE()
return nil

*********************************
function GetNewAlias( cDbfName )
*********************************
static n := 0
return cDbfName + StrZero( ++n, 2 )

Re: Menu 2007

Posted: Fri Apr 09, 2010 4:47 pm
by Antonio Linares
Fernando,
me aparece el error 9003 --> too many recursive error handles calls
Por favor copia aquia el fichero error.log que se genera completo, gracias

Re: Menu 2007

Posted: Fri Apr 09, 2010 6:26 pm
by mmercado
Hola Ubiratan:
SGS wrote:Montei este teste de exemplo em cima do fwh/samples/testfldm.prg pode ser usar o RECURSO referente.
O erro acontece se a CLAUSULA 2007 estiver no MENU ( MENU 2007) e o tema do WINDOWS for o classico ou diferente do tema XP.
Efectivamente, ya logré reproducir el error cuando se usa el estilo Windows Clásico como tema en Windows XP.

Mientras Antonio revisa la clase, puedes resolver el problema cambiando una línea en el método Initiate de la clase TMenu como sigue:

Dice

Code: Select all

   if ::l2007 .and. cWinVersion() != "98"
      MITEMS2007( ::hMenu )
   endif 
Debe decir:

Code: Select all

   if ::l2007 .and. cWinVersion() != "98" .and. IsAppThemed()
      MITEMS2007( ::hMenu )
   endif 
Un abrazo.

Re: Menu 2007

Posted: Fri Apr 09, 2010 6:46 pm
by MGA
Sr. Manuel,

:D :D :D :D :D :D :D :D :D :D :D :D

Simplesmente FANTASTICO!!!!

:D :D :D :D :D :D :D :D :D :D :D :D

Muito obrigado Maestro!!!
Muito obrigado Maestro!!!

Re: Menu 2007

Posted: Sun Apr 11, 2010 10:32 am
by nageswaragunupudi
Mr. Manuel Mercado

Does it mean that we can not have bug-free Menu 2007 style on XP Classic style ( i.e. when themes are disabled ) ?