Page 1 of 1

Posible BUG X6.01

Posted: Tue Jul 16, 2019 2:02 pm
by bingen
Buenas xTeam , acabo de encontrarme con un problema que antes funcionaba correctamente.
Tenemos un método que con el clic derecho sobre un browase replica el menu de la optionlist que tiene el form copiando sus textos, iconos, onclick y demás. Hasta aqui sigue funcionando pero los objetos que están en la optionlist con lEnabled a false me mienten diciendo que están a true con lo cual lo que los usuarios no pueden hacer desde la optionlist lo hacen desde el popup.

FOR nItem := 1 TO Len( oSubMenu:aControls[ nExplorer ]:aItems )

DO CASE
CASE oSubMenu:aControls[ nExplorer ]:aItems[ nItem ]:nType = otSEPARATOR
oPopMenu:AddSeparator()
CASE oSubMenu:aControls[ nExplorer ]:aItems[ nItem ]:nType = otCHECK
WITH OBJECT TMenuItem():New( oPopMenu )
:cText := AllTrim( oSubMenu:aControls[ nExplorer ]:aItems[ nItem ]:cText )
:lChecked := oSubMenu:aControls[ nExplorer ]:aItems[ nItem ]:lChecked
:Cargo := { nExplorer, nItem }
:lEnabled := oSubMenu:aControls[ nExplorer ]:aItems[ nItem ]:lEnabled
:OnClick := {| o| oSubMenu:aControls[ o:Cargo[ 1 ] ]:aItems[ o:Cargo[ 2 ] ]:Click() }
:Create()
END
CASE oSubMenu:aControls[ nExplorer ]:aItems[ nItem ]:nType = otBUTTON
WITH OBJECT TMenuItem():New( oPopMenu )
oPopMenu:oImageList:Add( oSubMenu:aControls[ nExplorer ]:oImageList:GetBitmap( oSubMenu:aControls[ nExplorer ]:aItems[ nItem ]:nImage ) )
:cText := oSubMenu:aControls[ nExplorer ]:aItems[ nItem ]:cText
:Cargo := { nExplorer, nItem }
:lEnabled := oSubMenu:aControls[ nExplorer ]:aItems[ nItem ]:lEnabled
LogDebug(:cText,:lEnabled)
:OnClick := {| o| oSubMenu:aControls[ o:Cargo[ 1 ] ]:aItems[ o:Cargo[ 2 ] ]:Click() }
:nImage := oPopMenu:oImagelist:GetImageCount()
:Create()
END
ENDCASE

NEXT

Re: Posible BUG X6.01

Posted: Wed Jul 17, 2019 11:16 am
by ignacio
Buenos días,

He simplificado tu ejemplo con el siguiente código:

Code: Select all

   LOCAL oMenu
   
   WITH OBJECT oMenu := TPopupMenu():New( Self )
      :Create()
      :AddItem( "uno" )
      :AddItem( "dos"):lEnabled := .F.
      :AddItem( "tres" )
   END

   oSender:ShowPopupMenu( oMenu, nPosX, nPosY )

   oMenu:End()


Pero no consigo que falle, el segundo menu item no está habilitado. Si me he perdido algo en tu explicación, lo siento. Un saludo

Re: Posible BUG X6.01

Posted: Tue Aug 20, 2019 1:46 pm
by bingen
Gracias Ignacio, he instalado la 6.2 y se ha solucionado.