Estou com um problema com o setfocus...
Tenho um fechamento de venda que quando clica no botao gravar faz uma verificação nos dados do cliente, caso seja vazio mostra uma mensagem de erro e deveria focar o nome do campo vazio. Só que quando clica no ok do msgexclamation ele volta para o msgexclamation novamente, como se tivesse pressionado enter no campo vazio.
Essa é a tela do fechamento.
Esse é o código que faz a verificação quando pressiona o botão gravarvenda, daà ele verifica se o campo tá vazio, se tiver mostra a mensagem e vai para o campo através do setfocus. Mas aà entra em loop, como se tivesse ido para o campo vazio, pressionado enter e feito a verificação novamente. Para fechar o programa só pressionando ctrl+alt+del.
*-------------------------------------------------------------------------------
STATIC FUNCTION VERVAZIO()
IF FORM_FECHA_VENDA.TBOX_NOME_CLIENTE.VALUE=''
MSGEXCLAMATION( 'E OBRIGATORIO O PREENCHIMENTO DO NOME !!!','ERRO')
FORM_FECHA_VENDA.TBOX_NOME_CLIENTE.SETFOCUS
ELSEIF FORM_FECHA_VENDA.TBOX_ENDERECO.VALUE=''
MSGEXCLAMATION( 'E OBRIGATORIO O PREENCHIMENTO DO ENDERECO !!!','ERRO')
FORM_FECHA_VENDA.TBOX_ENDERECO.SETFOCUS
ELSEIF FORM_FECHA_VENDA.TBOX_NUMERO.VALUE=''
MSGEXCLAMATION( 'E OBRIGATORIO O PREENCHIMENTO DO NUMERO !!!','ERRO')
FORM_FECHA_VENDA.TBOX_NUMERO.SETFOCUS
ELSEIF FORM_FECHA_VENDA.TBOX_BAIRRO.VALUE=''
MSGEXCLAMATION( 'E OBRIGATORIO O PREENCHIMENTO DO BAIRRO !!!','ERRO')
FORM_FECHA_VENDA.TBOX_BAIRRO.SETFOCUS
ELSEIF FORM_FECHA_VENDA.TBOX_CIDADE.VALUE=''
MSGEXCLAMATION( 'E OBRIGATORIO O PREENCHIMENTO DA CIDADE !!!','ERRO')
FORM_FECHA_VENDA.TBOX_CIDADE.SETFOCUS
ELSEIF FORM_FECHA_VENDA.TBOX_CEP.VALUE=''
MSGEXCLAMATION( 'E OBRIGATORIO O PREENCHIMENTO DO CEP !!!','ERRO')
FORM_FECHA_VENDA.TBOX_CEP.SETFOCUS
ELSEIF FORM_FECHA_VENDA.TBOX_UF.VALUE=''
MSGEXCLAMATION( 'E OBRIGATORIO O PREENCHIMENTO DO UF !!!','ERRO')
FORM_FECHA_VENDA.TBOX_UF.SETFOCUS
ENDIF
RETURN(NIL)
Código do botão gravar.
@ 465,620 BUTTONEX BTN_GRAVAR;
CAPTION '&GRAVAR VENDA';
PICTURE 'IMG_GRAVAR';
FLAT;
WIDTH 250;
HEIGHT 50;
FONT 'VERDANA';
SIZE 16;
FONTCOLOR BLUE;
BOLD;
BACKCOLOR {255,255,255};
ACTION GRAVA_VENDA();
ON GOTFOCUS VERVAZIO()
Se alguém souber como resolver ou sugerir algom agradeço...
Obrigado
Rubens