Página 1 de 1

Posible BUG X6.01

Publicado: Mar Jul 16, 2019 2:02 pm
por 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

Publicado: Mié Jul 17, 2019 11:16 am
por ignacio
Buenos días,

He simplificado tu ejemplo con el siguiente código:

Código: Seleccionar todo

   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

Publicado: Mar Ago 20, 2019 1:46 pm
por bingen
Gracias Ignacio, he instalado la 6.2 y se ha solucionado.