Será que DBtipPessoa.ItemIndex <> -1 realmente? Senão, cai direto no refresh.

Cristiane


  ----- Original Message ----- 
  From: Gilmar Barbosa 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Monday, January 11, 2010 5:53 PM
  Subject: [delphi-br] Must apply updates before refreshing data


    
  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]



  


------------------------------------------------------------------------------
  E-mail verificado pelo Terra Anti-Spam.
  Para classificar esta mensagem como spam ou não spam, clique aqui.
  Verifique periodicamente a pasta Spam para garantir que apenas mensagens
  indesejadas sejam classificadas como Spam. 


------------------------------------------------------------------------------
  Esta mensagem foi verificada pelo E-mail Protegido Terra.
  Atualizado em 12/01/2010



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

Responder a