Boa Tarde,

Estou tendo um problema em um sistema, na tela para cadastro de clientes.

Estou usando Delphi 7, Firebird 2.1.3, DbExpress e IbExpert.

Quando estou clicando no botao Salvar esta dando a mensagem de erro do
Assunto:

Must Apply Updates Before Refreshing Data.

No meu DM, no ClientDataSet, no evento AfterPost, esta a seguinte linha de
comando:

 tbCliente.ApplyUpdates(0);

Ja tentei mudar para -1, mas continua o mesmo erro.

O botao Salvar esta com a seguinte programacao:

procedure TFrmCliente.spbsalvarClick(Sender: TObject);
var  i: integer;
begin
FrmCliente.SetFocus;
If DBtipPessoa.ItemIndex <> -1 then
 if application.messagebox('Deseja Salvar Dados ?','Confirma
Dados',mb_yesno +mb_iconquestion) = idyes then
  begin
   if novo = 0 then
    begin
     Dm.StoredProc1.StoredProcName:= 'AUTO_CLI';
     // Prepara para executar a Stored Procedure
     if not Dm.StoredProc1.Prepared then
       Dm.StoredProc1.Prepared:= true;
     Dm.StoredProc1.ExecProc;  // Executa
     codcli:= Dm.StoredProc1.ParamByName('CODCLI').AsInteger;
     Dm.StoredProc1.Close;  // Pega o valor do Generator
     dsCliente.DataSet.Edit;
     DM.tbClienteCODIGO.AsInteger:= codcli;
     dsCliente.DataSet.Post;
    end else
    begin
     //DM.tbCliente.Edit;
     dsCliente.DataSet.Edit;
     dsCliente.DataSet.Post;
     //DM.tbCliente.Post;
    end;
   DM.tbCliente.ApplyUpdates(0);
  end else dsCliente.DataSet.Cancel;//  DM.tbCliente.cancel;

// Irá desabilitar os botões para serem editados
for i := 0 to FrmCliente.ComponentCount -1 do
 if FrmCliente.Components[i] is TCustomEdit then
  (FrmCliente.Components[i] as TCustomEdit).Enabled:= false;

//dm.tbCliente.Refresh;
dsCliente.DataSet.Refresh;

lblqtd.Caption:= 'Clientes cadastrados:
'+inttostr(DM.tbCliente.recordCount);
DBtipPessoa.Enabled:= False;
DBEstadoCivilF.Enabled:= False;
DBtipoF.Enabled:= False;
DBResidenciaF.Enabled:= False;
DBEmiteCobF.Enabled:= False;
//DBEstadoCivilJ.Enabled:= False;
DBtipoJ.Enabled:= False;
//DBResidenciaJ.Enabled:= False;
DBEmiteCobJ.Enabled:= False;
spbnovo.enabled:=TRUE;
spbexcluir.enabled:=TRUE;
spbalterar.enabled:= TRUE;
spbfechar.enabled:= TRUE;
spbsalvar.enabled:= false;
spbcancelar.enabled:= false;
EDIT1.Enabled:= true;
end;

O que eu acho estranho eh que antes tava funcionando normalmente.

Depois comecou a dar este problema.

Ja verifiquei no Google, nas msgs anteriores da lista, mas ainda nao
consegui uma solucao para o meu problema.

Esta mesma programacao esta em todos os outros cadastros, mas soh o cliente
esta dando problema.

Obrigado, desde jah pela ajuda.

Gilmar


[As partes desta mensagem que não continham texto foram removidas]

Responder a