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
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.
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
Posible BUG X6.01
BiSoft Desarrollo de software profesional
http://www.bisoft.es
http://www.bisoft.es
- ignacio
- Site Admin
- Mensajes: 9252
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Re: Posible BUG X6.01
Buenos días,
He simplificado tu ejemplo con el siguiente código:
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
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()
Re: Posible BUG X6.01
Gracias Ignacio, he instalado la 6.2 y se ha solucionado.
BiSoft Desarrollo de software profesional
http://www.bisoft.es
http://www.bisoft.es