by Ramon Paredes » Wed Oct 29, 2008 4:33 pm
Karinha,
Gracias por reponder el asunto es que uso ventanas sdi, el sistema en mencion esta funcionando sin problemas al ejecutarse presenta la pantalla de bienvenida con el get de login y clave de acceso, hay 4 maquinas conectadas a el ya que trabajan en redes , 2 funcionan sin problemas pero en 2 maquinas presenta la pantalla inicial y al segundo desaparece sin dejar rastros,
al inicio de mi programa principal tengo esto :
pAceptar := .F.
pAceptar = !Veri_clave()
IF pAceptar
CLOSE DATA
RETURN nil
ENDIF
CLOSE DATA
// aqui valido al usuario
y la funcion veri_clave esta asi :
//====================
FUNCTION VERI_CLAVE
//====================
local oDlg
local oFont1,oBmp
locaL Otxtmsg, mClave,oclave, mSiClave,oSiClave,mClaveg,oClaveg,mCancelar
Local oCar, oLetras[10], I
mCancelar := .F.
SELECT A
IF DLk_Abre("USUARIOS",.F.) = .F.
Close Data
Return .F.
Endif
Set Index To USUARIOS
SELECT B
IF DLk_Abre("C:\DATA1\LOGSIST",.F.)= .F.
Close Data
Return .F.
Endif
pUsuario := B->Nombre
oSiClave := B->SiClave
oCar = ""
For I = 1 To 10
oLetras[i] = asc(substr(LOGSIST->clave,I,1))+64
ocar = ocar + CHR(oLetras[i])
Next
If B->SiClave
oClave := oCar
Else
oClave := Space(10)
Endif
Do While .T.
pAceptar := .F.
DEFINE DIALOG oDlg RESOURCE 1
REDEFINE GET oUsuario Var pUsuario ID 101 of oDlg
REDEFINE GET oClave Var mClave ID 102 of oDlg PICTURE "@!"
REDEFINE BITMAP oBMP ID 160 OF oDlg FILE "KEYS.BMP" SCROOL ADJUST UPDATE
REDEFINE BUTTON ID 130 of oDlg ACTION (pAceptar:= .T. ,oDlg:End())
REDEFINE BUTTON ID 131 of oDlg ACTION (pAceptar:= .F.,mCancelar := .T.,oDlg:End())
ACTIVATE DIALOG oDlg CENTERED
If pAceptar = .F.
Return .F.
Endif
If pAceptar
If Empty(pUsuario)
MsgAlert( "Nombre del Usuario esta Vacio " )
loop
Endif
If Empty(mClave)
MsgAlert( "La Clave esta en Blanco" )
Loop
EndIf
Select A
If !DbSeek( pUsuario )
MsgAlert( "Usuario no existe en la Base" )
loop
Endif
popc01 := USUARIOS->OPC01
POPC02 := USUARIOS->OPC02
POPC03 := USUARIOS->OPC03
POPC04 := USUARIOS->OPC04
pInicial := Usuarios->Inicial
oClaveg := Usuarios->clave
oCar = ""
For I = 1 To 10
oLetras[i] = asc(substr(usuarios->clave,I,1))+64
ocar = ocar + CHR(oLetras[i])
Next
If alltrim(ocar) = alltrim(mClave)
SELECT B
RLOCK()
B->Nombre := pUsuario
B->Abre_Act := .T.
B->SiClave := .F.
B->Clave := space(10)
COMMIT
UNLOCK
Return .T.
Else
MsgAlert( "La Clave esta invalida" )
Loop
EndIf
Endif
Exit
Enddo
Return .F.
es realmente extraño, no hay error, no hay mensajes nada,y cuando suspendo este procedimiento de clave entonces a cualquier pantalla de los menues que entre sucede lo mismo en esas dos maquinas afectadas
ojala me haya explicado,
Saludes y agradecido
Ramon Paredes
... Desde la Tierra de lagos y Volcanes......