Olá amigos Estou com um sério problema na minha aplicação delphi 7 + mysql + ADO. Estava funcionando tudo perfeitinho numa rotina de registro de entrada a anos, após uma alteração solicitada pelo meu usuário, eu coloquei apenas uma mensagem de confirmação e após a confirmação o mesmo mudou o estado de dsInset para dsInactive. Estou tentando encontrar o problema e não consigo será que alguém já passou por isso ?
Segue abaixo um trecho do código que parou de funcionar logo após a mensagem de confirmação. *procedure TFormEntradas.GravarEntradaContribuicao(vContaContabil : String); begin try //Iniciar a inserção de dados na tabela de contribuição if (DBLookupFormaPagto.KeyValue = Null) or (DBLookupFormaPagto.KeyValue = 0) Then begin DBLookupFormaPagto.SetFocus; Application.MessageBox('O campo Forma de Pagamento é de preenchimento OBRIGATÓRIO.','Aviso do Sistema',MB_OK + MB_ICONWARNING); Exit; end; vVlrEntrada := StrToFloat(BuscaTroca(dbevlrEntrada.Text,'.','')); if (Trim(dbevlrEntrada.Text) = '') or (vVlrEntrada = 0) Then dbevlrEntrada.SelectAll; //Até aqui o DataSet está com Inserção if (Application.MessageBox(Pchar('Confirma a CONTRIBUIÇÃO no valor de R$ '+FormatFloat('#,##0.00', vVlrEntrada)+' ?'), 'Entrada de Contribuição', MB_ICONQUESTION + MB_YESNO) = IDYES) then begin //Após a confirmação do valor o mesmo muda para dsInactive e não entra na rotina abaixo //Gostaria de entender o motivo dessa mudança.. Screen.Cursor := crSQLWait; //Aqui if (dtsEntradas.DataSet.State in [dsInsert, dsEdit]) and (dtsContaContabil.DataSet.FieldByName('cta_contabilred').Value <> 0) and (dtsFormaPgto.DataSet.FieldByName('cod_formapgto').Value <> 0) Then begin vVlrEntrada := StrToFloat(BuscaTroca(dbevlrEntrada.Text,'.','')); vDtaEntrada := FormatDateTime('yyyy/mm/dd',Now); vHraEntrada := FormatDateTime('HH:mm',Now); btnImprimir.Enabled := True; * Obrigado, Jorge Ericsson Brasília - DF [As partes desta mensagem que não continham texto foram removidas]