Função que não funciona...
vejam e me fala o que está errado
procedure T_FormCRReceb.Button1Click(Sender: TObject);
begin
if strtofloat(Edit5.Text)<> Strtofloat(Edit3.Text) then
ChamarFormCRMensQuitar(Sender)
else
if MessageDlg(´Quitar documento de nº ´+ inttostr(Table2CodSistema.value) + ´ ?´,mtConfirmation,[mbYes,mbNo],0)<>mrYes then Abort;
Quitar(Sender);
Table2.Delete;
if Table2.RecordCount = 0 then ValidaPendClientes(Sender);
end;
Esta parte <<<ChamarFormCRMensQuitar(Sender)>>> chama um form onde é feito alguns procedimentos, más quando finalizo o form que chamei, o programa continua a ler a função...será que estou delirando ? :lol:
Valeu...
procedure T_FormCRReceb.Button1Click(Sender: TObject);
begin
if strtofloat(Edit5.Text)<> Strtofloat(Edit3.Text) then
ChamarFormCRMensQuitar(Sender)
else
if MessageDlg(´Quitar documento de nº ´+ inttostr(Table2CodSistema.value) + ´ ?´,mtConfirmation,[mbYes,mbNo],0)<>mrYes then Abort;
Quitar(Sender);
Table2.Delete;
if Table2.RecordCount = 0 then ValidaPendClientes(Sender);
end;
Esta parte <<<ChamarFormCRMensQuitar(Sender)>>> chama um form onde é feito alguns procedimentos, más quando finalizo o form que chamei, o programa continua a ler a função...será que estou delirando ? :lol:
Valeu...
Gigatel
Curtidas 0
Respostas
Catunda
07/03/2004
Você precisa ser mais claro no que quer que a função faça.
Da forma que está escrita após sair do
ChamarFormCRMensQuitar(Sender) vai executar as três linhas
Quitar(Sender);
Table2.Delete;
if Table2.RecordCount = 0 then ValidaPendClientes(Sender);
Veja abaixo colocando as duas primeiras linhas dentro do segundo if:
if strtofloat(Edit5.Text)<> Strtofloat(Edit3.Text) then
ChamarFormCRMensQuitar(Sender)
else
if MessageDlg(´Quitar documento de nº ´+ inttostr(Table2CodSistema.value) + ´ ?´,mtConfirmation,[mbYes,mbNo],0)<>mrYes then Abort
else
begin
Quitar(Sender);
Table2.Delete;
end;
if Table2.RecordCount = 0 then ValidaPendClientes(Sender);
E para não executar a ultima linha tambem é só coloca-la antes do end anterior a ela.
Da forma que está escrita após sair do
ChamarFormCRMensQuitar(Sender) vai executar as três linhas
Quitar(Sender);
Table2.Delete;
if Table2.RecordCount = 0 then ValidaPendClientes(Sender);
Veja abaixo colocando as duas primeiras linhas dentro do segundo if:
if strtofloat(Edit5.Text)<> Strtofloat(Edit3.Text) then
ChamarFormCRMensQuitar(Sender)
else
if MessageDlg(´Quitar documento de nº ´+ inttostr(Table2CodSistema.value) + ´ ?´,mtConfirmation,[mbYes,mbNo],0)<>mrYes then Abort
else
begin
Quitar(Sender);
Table2.Delete;
end;
if Table2.RecordCount = 0 then ValidaPendClientes(Sender);
E para não executar a ultima linha tambem é só coloca-la antes do end anterior a ela.
GOSTEI 0
Tnaires
07/03/2004
Olá
Tente fazer o seguinte:
Na linha
faça
O Abort dispara uma exceção silenciosa, carregando o fluxo do programa para o fim d uma instrução try/except. Já o Exit sai efetivamente do procedure, q suponho q seja o q vc esteja querendo fazer.
Abraços
Tente fazer o seguinte:
Na linha
if MessageDlg(´Quitar documento de nº ´+ inttostr(Table2CodSistema.value) + ´ ?´,mtConfirmation,[mbYes,mbNo],0)<>mrYes then Abort;
faça
if MessageDlg(´Quitar documento de nº ´+ inttostr(Table2CodSistema.value) + ´ ?´,mtConfirmation,[mbYes,mbNo],0)<>mrYes then Exit;
O Abort dispara uma exceção silenciosa, carregando o fluxo do programa para o fim d uma instrução try/except. Já o Exit sai efetivamente do procedure, q suponho q seja o q vc esteja querendo fazer.
Abraços
GOSTEI 0
Gigatel
07/03/2004
Muito Obrigado....deu certinho....
GOSTEI 0