Page 1 of 1
Aun tengo el problema
Posted: Wed Jan 09, 2008 4:35 pm
by Blessed
Del foro he sacado varias ideas, y las he combinado:
Code: Select all
/*
FUNCION ESTATICA SoliAcces()
Dialogo que validar las cuentas de usuarios para ingresar al sistema
*/
STATIC FUNCTION SoliAcces()
LOCAL oDClave, oBrush, oGet[2]
MEMVAR oApp
oApp:cUsuario := SPACE(10)
oApp:cClave := SPACE(6)
oApp:lLogID := .F.
DEFINE BRUSH oBrush COLOR oApp:Color2007
DEFINE DIALOG oDClave RESOURCE "DLG_ACCESO" HELPID 2 ;
BRUSH oBrush TRANSPARENT
REDEFINE GET oGet[1] VAR oApp:cUsuario ID 2 OF oDClave UPDATE PICTURE "@!"
REDEFINE GET oGet[2] VAR oApp:cClave ID 3 OF oDClave UPDATE PICTURE "@!"
ACTIVATE DIALOG oDClave CENTERED ;
ON INIT AccToolBar( oDClave ) VALID ( oBrush:End(), .T.)
oApp:aDerechos = DerechUser( oApp:cUsuario )
RETURN oApp:lLogID
/*
FUNCION ESTATICA AccToolBar()
Agrega la barra de herramientas al dialogo
*/
STATIC FUNCTION AccToolBar( oDClave )
LOCAL oBar
DEFINE BUTTONBAR oBar SIZE 35, 35 DIALOG oDClave 2007
DEFINE BUTTON OF oBar NAME "Clave" TOOLTIP "Validar datos" ;
ACTION IF( ValidaClave(), oDClave:End(), .T. )
DEFINE BUTTON OF oBar NAME "Salir" TOOLTIP "Salir" ;
ACTION oDClave:End() GROUP
RETURN NIL
Al definir el BUTTONBAR directamente en la funcion del dialogo me de todo tipo de errores, y en el foro encontre el poner la BUTTONBAR fuera.
Agradeciendo de antemano su ayuda
Posted: Wed Jan 09, 2008 4:52 pm
by Blessed
Al aparecer el mensaje de mayusculas, y el GET estar con password, los iconos de la BUTTONBAR, desaparecen y al pasar el mouse sobre ellos se realiza el repintado, no de otra manera
Saludos desde Honduras
Posted: Wed Jan 09, 2008 4:55 pm
by Blessed
Por cierto estoy usando la FiveWin 7.11 y xHarbour 0.9971
Posted: Wed Jan 09, 2008 5:41 pm
by Antonio Linares
Nosotros lo hemos probado aqui y no hemos conseguido reproducir el error.
Puedes enviarnos un EXE (en un fichero ZIP) que reproduzca el error ? gracias
Aqui te envio el codigo completo del BUTTONBAR
Posted: Mon Jan 14, 2008 5:41 pm
by Blessed
Code: Select all
#include "FiveWin.ch"
function Main()
LOCAL oDClave, oBrush, oGet[2]
MEMVAR oApp
PUBLIC oApp:= TMyApp()
oApp:cUsuario := SPACE(10)
oApp:cClave := SPACE(6)
oApp:lLogID := .F.
oApp:Color2007 := nRGB( 191, 219, 255 )
DEFINE BRUSH oBrush COLOR oApp:Color2007
DEFINE DIALOG oDClave RESOURCE "DLG_ACCESO" HELPID 2 ;
BRUSH oBrush TRANSPARENT
REDEFINE GET oGet[1] VAR oApp:cUsuario ID 2 OF oDClave UPDATE PICTURE "@!"
REDEFINE GET oGet[2] VAR oApp:cClave ID 3 OF oDClave UPDATE PICTURE "@!"
ACTIVATE DIALOG oDClave CENTERED ;
ON INIT AccToolBar( oDClave ) VALID ( oBrush:End(), .T.)
RETURN oApp:lLogID
/*
FUNCION ESTATICA AccToolBar()
Agrega la barra de herramientas al dialogo
*/
STATIC FUNCTION AccToolBar( oDClave )
LOCAL oBar
DEFINE BUTTONBAR oBar SIZE 35, 35 DIALOG oDClave 2007
DEFINE BUTTON OF oBar NAME "Clave" TOOLTIP "Validar datos" ;
ACTION IF( ValidaClave(), oDClave:End(), .T. )
DEFINE BUTTON OF oBar NAME "Salir" TOOLTIP "Salir" ;
ACTION oDClave:End() GROUP
RETURN NIL
/*
FUNCION ESTATICA ValidaClave( cUsuario, cClave, oGet )
Donde:
- cUsuario ID del usuario
- cClave Clave del usuario
- oGet Incluye el objeto de los Get´s
Funcion que valida los datos del Get de codigo de Gastos
*/
STATIC FUNCTION ValidaClave()
LOCAL lValRet := .F., cMy_User, cMy_Clave
MEMVAR oApp, oData_Odbc
IF !EMPTY( oApp:cClave )
lValRet := .T.
ELSE
lValRet := .F.
MsgStop( "Nombre de Usuario o clave no valida" , "Atención" )
ENDIF
oApp:lLogID := lValRet
RETURN lValRet
/*
CLASE TMyApp
Datos de configuracion del sistema que seran publicos
*/
CLASS TMyApp
DATA cUsuario INIT "SUPERVISOR"
DATA cClave INIT "Max"
DATA lLogID INIT .F.
DATA Color2007 INIT 0
ENDCLASS
&&----------------------------------------------------------------------------&&
PROCEDURE AppSys && XBase++ requirement
RETURN
&&----------------------------------------------------------------------------&&
y lo que es el archivo RC es el siguiente :
Code: Select all
/*
contab.rc
produced by Borland Resource Workshop
*/
1 24 "WindowsXP.Manifest"
#include "..\..\fwh\include\winapi.ch"
Clave BITMAP "bitmaps/clave.bmp"
Salir BITMAP "bitmaps/salir.bmp"
DLG_ACCESO DIALOG 61, 100, 95, 72
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
CAPTION "ID Usuario"
FONT 8, "Tahoma"
{
EDITTEXT 2, 39, 36, 46, 12, WS_BORDER | WS_TABSTOP
EDITTEXT 3, 39, 51, 46, 12, ES_PASSWORD | WS_BORDER | WS_TABSTOP
LTEXT "Usuario", -1, 10, 38, 28, 10
LTEXT "Clave", -1, 10, 53, 24, 10
}
Master Antonio
Posted: Mon Jan 14, 2008 9:06 pm
by Blessed
Saludos Antonio:
Recien te envie via Email el ejecutable.
El sistema operativo es Windows XP Home Edition.
Lo he corrido en equipos con Windows XP Pro, y ocurre la misma anomalia
Posted: Tue Jan 15, 2008 6:03 am
by Antonio Linares
Si, hemos visto el error. Ocurre en XP, en Vista funciona bien.
Prueba a hacer lo siguiente:
oDlg:bMoved = { || oBar:Refresh() }
por lo visto solo ocurre al mover la caja de diálogo una vez que ha salido el aviso de las mayúsculas. Por lo menos, aqui solo falla en esa situación.
Posted: Tue Jan 15, 2008 9:30 pm
by Blessed
Saludos Antonio:
Gracias por tu tiempo, lo probare de inmediato
Saludos
Posted: Tue Jan 15, 2008 9:49 pm
by Blessed
Saludos Antonio:
Hice lo que sugieres
Prueba a hacer lo siguiente:
oDlg:bMoved = { || oBar:Refresh() }
Y no surte ningun efecto.
Con solo estar posicionado en el Get con Password, y pulsar mayusculas un par de veces, se ve el problema.
Segun parece ...
Posted: Tue Jan 22, 2008 9:01 pm
by Blessed
Saludos Antonio:
Al quitar la clausula 2007 de la BUTTONBAR, el comportamiento es diferente, los iconos no se repintan al pasar por el mouse, si no hasta que se hace click en el mismo y aparece nuevamente el icono.
Segun parece, seria cuando en una ventana de dialogo hija quieras insertar una BUTTONBAR.
Saludos desde Honduras
Posted: Wed Jan 23, 2008 9:59 pm
by Blessed
Saludos Antonio:
Heme aqui con este lio de las BUTTONBAR en ventanas hijas (MDI).
Es aqui cuando se da este lio, me podrias dar algun hilo para tomar este asunto para evitar este comportamiento en la clase.
Saludos desde Honduras.
Posted: Wed Jan 23, 2008 10:34 pm
by Antonio Linares
El problema solo aparece en ventanas MDICHILD que usan buttonbars con la claúsula 2007 y cuando están activadas las mayúsculas ?
Puedes proporcionarnos un PRG de ejemplo ? Es distinto al EXE que me enviastes ? gracias
Posted: Sat Jan 26, 2008 3:43 pm
by Blessed
Saludos Antonio:
No es distinto al que te envie.
El ejemplo que te envie no es MDI, y tambien pasa sin la clausula 2007
Saludos desde Honduras.
Posted: Sat Jan 26, 2008 3:48 pm
by Blessed
Saludos Antonio:
Creo que la socucion de momento seria no usar en un dialgo (no una ventana) un BUTTONBAR, y usar otro estilo de botones.
A menos que se se de una salida en un futuro ya que me actualice a FiveWin 8.01 y da los mismos resultados; se que es un duro trabajo tratar con cada tipo de enventualidades, estare al pendiente.
Fivewin el mejor entorno de desarrollo
Saludos desde Honduras.