In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Posible BUG X6.01

Foro de Xailer profesional en español
Responder
Avatar de Usuario
bingen
Mensajes: 565
Registrado: Lun Jul 07, 2014 8:17 pm
Ubicación: Bilbao
Contactar:

Posible BUG X6.01

Mensaje 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
BiSoft Desarrollo de software profesional
http://www.bisoft.es
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9250
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Re: Posible BUG X6.01

Mensaje 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
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Avatar de Usuario
bingen
Mensajes: 565
Registrado: Lun Jul 07, 2014 8:17 pm
Ubicación: Bilbao
Contactar:

Re: Posible BUG X6.01

Mensaje por bingen »

Gracias Ignacio, he instalado la 6.2 y se ha solucionado.
BiSoft Desarrollo de software profesional
http://www.bisoft.es
Responder