Erro
Enviado: 15 Mar 2015 16:02
Boa tarde!
Gostaria de saber dos colegas o que eu estou fazendo de errado, pois não estou identificando o erro que está dando em meu sistema.
Parte de meu código: Formulário
Rotinas:
Espero que algum dos colegas me ajudem a resolver este problema. Estou utilizando Minigui Extend 2.4.4 e Windows 8.1 PRO 64 bits.
Abraços,
Paulo - Jacareí/SP
Gostaria de saber dos colegas o que eu estou fazendo de errado, pois não estou identificando o erro que está dando em meu sistema.
Código: Selecionar todos
Application: G:\SisComprev2\SisMain.exe
Date: 13.03.2015 Time: 22:50:58
Time from start: 0 days 0 hours 0 mins 50 secs
Error BASE/1066 Erro nos parƒmetros: condicional
Called from TELA:SETTECLADO(4373)
Called from (b)SISTEMA_TELACADASTRO(1842)
Called from _DOCONTROLEVENTPROCEDURE(1652)
Called from EVENTS(1573)
Called from _DOMESSAGELOOP(0)
Called from _ACTIVATEWINDOW(1374)
Called from DOMETHOD(4688)
Called from SISTEMA:TELACADASTRO(1914)
Called from (b)TELA_JANELA(2113)
Called from _DOCONTROLEVENTPROCEDURE(1652)
Called from EVENTS(1516)
Called from _DOMESSAGELOOP(0)
Called from _ACTIVATEWINDOW(1374)
Called from DOMETHOD(4688)
Called from TELA:JANELA(2580)
Called from (b)SISTEMA_TELAPRINCIPAL(218)
Called from _DOCONTROLEVENTPROCEDURE(1652)
Called from EVENTS(1449)
Called from _DOMESSAGELOOP(0)
Called from _ACTIVATEWINDOW(1374)
Called from DOMETHOD(4688)
Called from SISTEMA:TELAPRINCIPAL(319)
Called from MAIN(26) Parte de meu código: Formulário
Código: Selecionar todos
METHOD TelaCadastro() CLASS Sistema
DEFINE WINDOW JanelaCadastro ;
AT ::W(147) , ::H(237) WIDTH ::W(547) HEIGHT ::H(350) ;
TITLE "Cadastro de Novo Aposentado" ;
MODAL ;
BACKCOLOR BK_JANELA
//--------------------------------Titulos
DEFINE LABEL LB_Matricula
ROW ::W(20)
COL ::H(10)
WIDTH ::W(55)
HEIGHT ::H(18)
VALUE "Matricula"
FONTNAME "Arial"
FONTSIZE 9
FONTBOLD .T.
BACKCOLOR BK_JANELA
FONTCOLOR BRANCO
END LABEL
DEFINE LABEL LB_Nome
ROW ::W(20)
COL ::H(85)
WIDTH ::W(120)
HEIGHT ::H(18)
VALUE "Nome"
FONTNAME "Arial"
FONTSIZE 9
FONTBOLD .T.
BACKCOLOR BK_JANELA
FONTCOLOR BRANCO
END LABEL
DEFINE LABEL LB_Dib
ROW ::W(78)
COL ::H(10)
WIDTH ::W(35)
HEIGHT ::H(18)
VALUE "DIB"
FONTNAME "Arial"
FONTSIZE 9
FONTBOLD .T.
BACKCOLOR BK_JANELA
FONTCOLOR BRANCO
END LABEL
DEFINE LABEL LB_Sexo
ROW ::W(78)
COL ::H(110)
WIDTH ::W(35)
HEIGHT ::H(18)
VALUE "Sexo"
FONTNAME "Arial"
FONTSIZE 9
FONTBOLD .T.
BACKCOLOR BK_JANELA
FONTCOLOR BRANCO
END LABEL
DEFINE LABEL LB_Nit
ROW ::W(78)
COL ::H(225)
WIDTH ::W(35)
HEIGHT ::H(18)
VALUE "NIT"
FONTNAME "Arial"
FONTSIZE 9
FONTBOLD .T.
BACKCOLOR BK_JANELA
FONTCOLOR BRANCO
END LABEL
DEFINE LABEL LB_Cpf
ROW ::W(78)
COL ::H(350)
WIDTH ::W(35)
HEIGHT ::H(18)
VALUE "CPF"
FONTNAME "Arial"
FONTSIZE 9
FONTBOLD .T.
BACKCOLOR BK_JANELA
FONTCOLOR BRANCO
END LABEL
DEFINE LABEL LB_TipoApo
ROW ::W(135)
COL ::H(10)
WIDTH ::W(120)
HEIGHT ::H(18)
VALUE "Tipo Aposentadoria"
FONTNAME "Arial"
FONTSIZE 9
FONTBOLD .T.
BACKCOLOR BK_JANELA
FONTCOLOR BRANCO
END LABEL
DEFINE LABEL LB_Expediente
ROW ::W(135)
COL ::H(145)
WIDTH ::W(120)
HEIGHT ::H(18)
VALUE "Expediente"
FONTNAME "Arial"
FONTSIZE 9
FONTBOLD .T.
BACKCOLOR BK_JANELA
FONTCOLOR BRANCO
END LABEL
//-------------------------------- Dados de Entrada
DEFINE TEXTBOX TX_Matricula
ROW ::W(42)
COL ::H(10)
WIDTH ::W(65)
HEIGHT ::H(24)
FONTNAME "Arial"
FONTSIZE 9
FONTBOLD .T.
TOOLTIP "Matricula do Aposentado"
ONENTER { || JanelaCadastro.TX_Nome.SetFocus }
END TEXTBOX
DEFINE TEXTBOX TX_Nome
ROW ::W(42)
COL ::H(85)
WIDTH ::W(435)
HEIGHT ::H(24)
FONTNAME "Arial"
FONTSIZE 9
FONTBOLD .T.
TOOLTIP "Nome do Aposentado"
UPPERCASE .T.
ONENTER { || JanelaCadastro.TX_Dib.SetFocus }
END TEXTBOX
DEFINE TEXTBOX TX_Dib
ROW ::W(100)
COL ::H(10)
WIDTH ::W(90)
HEIGHT ::H(24)
FONTNAME "Arial"
FONTSIZE 9
FONTBOLD .T.
TOOLTIP "Data do inicio do beneficio"
// MAXLENGTH 10
DATE .T.
ONENTER { || IF( ::ValidarData( This.Value ) = .F. , JanelaCadastro.TX_Dib.SetFocus , JanelaCadastro.TX_Sexo.SetFocus )}
ONCHANGE { || oTela:SetTeclado( This.Value ) }
END TEXTBOX
DEFINE COMBOBOX TX_Sexo
ROW ::W(100)
COL ::H(110)
WIDTH ::W(100)
HEIGHT ::H(100)
ITEMS {"Masculino","Feminino"}
VALUE 0
FONTNAME "Arial"
FONTSIZE 9
FONTBOLD .T.
TOOLTIP "Selecione o Sexo"
ONCHANGE { || JanelaCadastro.TX_Nit.SetFocus }
END COMBOBOX
DEFINE TEXTBOX TX_Nit
ROW ::W(100)
COL ::H(222)
WIDTH ::W(120)
HEIGHT ::H(24)
FONTNAME "Arial"
FONTSIZE 9
FONTBOLD .T.
INPUTMASK M_NIT
// MAXLENGTH 14
TOOLTIP "Número do PIS / PASEP"
ONENTER { || IF( ::ConsultaNit( This.Value ) = .T. , JanelaCadastro.TX_Nit.SetFocus , JanelaCadastro.TX_Cpf.SetFocus ) , IF( ::ValidarNit( This.Value ) = .F. , JanelaCadastro.TX_Nit.SetFocus , JanelaCadastro.TX_Cpf.SetFocus ) }
ONCHANGE { || oTela:SetTeclado( This.Value ) }
END TEXTBOX
DEFINE TEXTBOX TX_Cpf
ROW ::W(100)
COL ::H(350)
WIDTH ::W(120)
HEIGHT ::H(24)
FONTNAME "Arial"
FONTSIZE 9
FONTBOLD .T.
INPUTMASK M_NIT
// MAXLENGTH 14
TOOLTIP "Número do CPF"
ONENTER { || IF( ::ConferirCpf( This.Value ) = .T. , JanelaCadastro.TX_TipoApo.SetFocus , JanelaCadastro.TX_Cpf.SetFocus ) }
ONCHANGE { || oTela:SetTeclado( This.Value ) }
END TEXTBOX
DEFINE COMBOBOX TX_TipoApo
ROW ::W(160)
COL ::H(10)
WIDTH ::W(120)
HEIGHT ::H(100)
ITEMS {"Especial","Idade","Inzalidez Integral","Invalidez Proporcional","Tempo de Contribuição"}
VALUE 0
FONTNAME "Arial"
FONTSIZE 9
FONTBOLD .T.
TOOLTIP "Selecione o tipo de aposentadoria"
ONCHANGE { || JanelaCadastro.TX_Expediente.SetFocus }
END COMBOBOX
DEFINE TEXTBOX TX_Expediente
ROW ::W(160)
COL ::H(145)
WIDTH ::W(120)
HEIGHT ::H(24)
FONTNAME "Arial"
FONTSIZE 9
FONTBOLD .T.
TOOLTIP "Número do Expediente"
ONENTER { || JanelaCadastro.button_1.SetFocus }
END TEXTBOX
//-------------------------------- Botoes
DEFINE BUTTONEX button_1
ROW oSistema:W(240)
COL oSistema:H(290)
WIDTH oSistema:W(105)
HEIGHT oSistema:H(48)
CAPTION "&Salvar"
PICTURE BTN_NOVOCALC
TOOLTIP "Grava novo cadastrado"
FONTNAME "Arial"
FONTSIZE 9
FONTBOLD .T.
FONTCOLOR PRETO
ACTION { || oArquivo:SalvaCadastro() }
END BUTTONEX
DEFINE BUTTONEX button_2
ROW oSistema:W(240)
COL oSistema:H(410)
WIDTH oSistema:W(105)
HEIGHT oSistema:H(48)
CAPTION "&Cancelar"
PICTURE BTN_FECHAR
TOOLTIP "Cancela Cadastro"
FONTNAME "Arial"
FONTSIZE 9
FONTBOLD .T.
FONTCOLOR PRETO
ACTION { || FECHA_JANELA }
END BUTTONEX
END WINDOW
JanelaCadastro.Center ; JanelaCadastro.ActivateCódigo: Selecionar todos
METHOD SetTeclado( cCampo ) CLASS Tela
LOCAL cFrmName := ThisWindow.Name
LOCAL cCmpName := This.FocusedControl
LOCAL x := GetControlIndex( cCmpName, cFrmName )
LOCAL nMaxLength := _HMG_aControlRangeMax[x]
LOCAL nInputMask := LEN( _HMG_aControlInputMask[x] )
IF nInputMask > 0
nMaxLength := nInputMask
ENDIF
IF ! EMPTY( cCampo )
IF nMaxLength == GetProperty( cFrmName , cCmpName , "CaretPos" )
IF VALTYPE( _HMG_aControlDblClick [x] ) != 'U'
IF VALTYPE( _HMG_aControlDblClick [x] ) == 'B'
IF EVAL( _HMG_aControlDblClick [x] ) <- Aqui que dá o erro
_SetNextFocus()
ENDIF
ELSE
_SetNextFocus()
ENDIF
ELSE
_SetNextFocus()
ENDIF
ENDIF
ENDIF
RETURN NIL
METHOD ValidarData( cData ) CLASS Sistema
LOCAL lRet := .T. , nDia , nMes , nAno
ndia := VAL( SUBSTR( DTOC( cData ) , 1 , 2 ) )
nMes := VAL( SUBSTR( DTOC( cData ) , 4 , 2 ) )
nAno := VAL( SUBSTR( DTOC( cData ) , 6 , 4 ) )
IF EMPTY( cData ) .OR. nMes > 12
MSG_ALERTA( "Data digitada incorreta ! Por favor digite novamente." )
lRet := .F.
cFrmName := thiswindow.name
cCmpName := this.focusedcontrol
SETFOCUS &(cCmpName) OF &(cFrmName)
ENDIF
IF nMes = 2
IF INT( nAno / 4 ) = 0
IF nDia > 29
MSG_ALERTA( "Data digitada incorreta ! Por favor digite novamente." )
lRet := .F.
cFrmName := thiswindow.name
cCmpName := this.focusedcontrol
SETFOCUS &(cCmpName) OF &(cFrmName)
ELSE
lRet := .T.
ENDIF
ELSE
IF nDia > 28
MSG_ALERTA( "Data digitada incorreta ! Por favor digite novamente." )
lRet := .F.
cFrmName := thiswindow.name
cCmpName := this.focusedcontrol
SETFOCUS &(cCmpName) OF &(cFrmName)
ELSE
lRet := .T.
ENDIF
ENDIF
ENDIF
IF nMes = 1 .OR. nMes = 3 .OR. nMes = 5 .OR. nMes = 7 .OR. nMes = 8 .OR. nMes = 10 .OR. nMes = 12
IF nDia > 31
MSG_ALERTA( "Data digitada incorreta ! Por favor digite novamente." )
lRet := .F.
cFrmName := thiswindow.name
cCmpName := this.focusedcontrol
SETFOCUS &(cCmpName) OF &(cFrmName)
ELSE
lRet := .T.
ENDIF
ENDIF
IF nMes = 4 .OR. nMes = 6 .OR. nMes = 9 .OR. nMes = 11
IF nDia > 30
MSG_ALERTA( "Data digitada incorreta ! Por favor digite novamente." )
lRet := .F.
cFrmName := thiswindow.name
cCmpName := this.focusedcontrol
SETFOCUS &(cCmpName) OF &(cFrmName)
ELSE
lRet := .T.
ENDIF
ENDIF
RETURN( lRet )
METHOD ValidarPis( cNit ) CLASS Sistema
LOCAL cPeso , nParcial , x , nResult2 , cResult , cPis , cParte
LOCAL cDigito , cNum
cPis := ALLTRIM( CHARREM( '. -' , cNit ) )
cPeso := "3298765432"
cParte := SUBSTR( cPis , 1 , 10 )
nParcial := 0
nResult2 := 0
//------------------------------- Calculo do digito
FOR x = 1 TO 10
nParcial := nParcial + ( VAL ( SUBSTR( cParte , x ,1 ) ) * VAL( SUBSTR ( cPeso , x , 1 ) ) )
NEXT x
//--------------------------------- Calculo
nResult2 := MOD( nParcial , 11 )
nResult2 := 11 - nResult2
cDigito := IF( nResult2 > 9 .OR. nResult2 = 11 , "0" , STR( INT( nResult2 ) , 1 ) )
//--------------------------------- Resultado
cResult := cParte + cDigito
cNum := EVAL( ::MascaraCpf() , cResult )
RETURN( cNum )
//****************************************************************//
METHOD ValidarNit( cNit ) CLASS Sistema
LOCAL cPis , cNumPis , lRet := .T. , cConsulta
cNumPis := ::ValidarPis( cNit )
cPis := ALLTRIM( CHARREM( '. -' , cNit ) )
cConsulta := ::ConsultaNit( cPis )
IF EMPTY( cPis )
MSG_ALERTA( "Campo NIT não pode ser em branco." )
cFrmName := thiswindow.name
cCmpName := this.focusedcontrol
SETFOCUS &(cCmpName) OF &(cFrmName)
RETURN ( .F. )
ENDIF
IF cNit <> cNumPis
MSG_ALERTA( "Número do NIT: " + cNit + " não confere!" )
cFrmName := thiswindow.name
cCmpName := this.focusedcontrol
SETFOCUS &(cCmpName) OF &(cFrmName)
RETURN( .F. )
ENDIF
RETURN( lRet )
METHOD ConferirCpf( cCpf ) CLASS Sistema
LOCAL cPeso , nParcial , x , nResult2 , cResult , vCpf , cParte
LOCAL cDigito , cNum
vCpf := ALLTRIM( CHARREM( '. -' , cCpf ) )
cPeso := "3298765432"
cParte := SUBSTR( vCpf , 1 , 10 )
nParcial := 0
nResult2 := 0
//------------------------------- Calculo do digito
FOR x = 1 TO 10
nParcial := nParcial + ( VAL ( SUBSTR( cParte , x ,1 ) ) * VAL( SUBSTR ( cPeso , x , 1 ) ) )
NEXT x
//--------------------------------- Calculo
nResult2 := MOD( nParcial , 11 )
nResult2 := 11 - nResult2
cDigito := IF( nResult2 > 9 .OR. nResult2 = 11 , "0" , STR( INT( nResult2 ) , 1 ) )
//--------------------------------- Resultado
cResult := cParte + cDigito
cNum := EVAL( ::MascaraCpf() , cResult )
IF cNum <> pCpf
MsgStop('CPF núemero: ' + pCpf + ' é inválido','Atenção !!!')
lRet := .F.
cFrmName := thiswindow.name
cCmpName := this.focusedcontrol
SETFOCUS &(cCmpName) OF &(cFrmName)
ELSE
lRet := .T.
ENDIF
RETURN(lRet) Abraços,
Paulo - Jacareí/SP