Ver Mensaje Individual
  #1  
Antiguo 31-05-2015
alexglez1255 alexglez1255 is offline
Miembro
NULL
 
Registrado: jul 2013
Posts: 86
Reputación: 13
alexglez1255 Va por buen camino
Llamada a Procemiento FANTASMA

Tengo un problema que ya le busque y rebusque y no tengo idea por que me lo hace, a la hora de abrir un ClienDataSEt para especificar en PARAM me llama a un procedimiento de filter de otra unidad el cual yo no lo llamo de ninguna forma o lo disparo con ningun evento del CDS...bien este es el codigo

PROCEDURE PARA GRAVAR CAMBIOS EN UN REGISTRO QUE SE MODIFICO

Código Delphi [-]
procedure TFrclientesmod.BtguardarcambiosclienClick(Sender: TObject);
begin
   with logicanegocio do
    begin
     if CDSclien.Modified=True then
        begin
         CDSclien.ApplyUpdates(0);
         modulodatos.IBTransaction1.Active:=true;
         modulodatos.IBTransaction1.Commit;
        end;
         Btguardarcambiosclien.Enabled:=False;
         BtCancelarCambiosclien.Enabled:=False;
         btnBuscarCte.Enabled:=True;
         EdModcliente.Enabled:=True;
         cmbBusqCte.Enabled:=True;
         EdModcliente.SetFocus;
         cdsClien.close;
         cdsClien.Params.ParamByName('Cod_cliente').Value:=0;
         cdsClien.open;
         CDSclieCOD2.open;
    end;
AL CORRIENDO EL PROGRAMA LINEA POR LINEA Y PASAR POR cdsClien.open; BRINCA AUTOMATICAMENTE AL SIGUIENTE PROCEDIMIENTO, desactivo el DBGRID, es un ClienDataSet diferente y esta en una unidad diferente...y al salir del programa de da un error de VIOLACION DE MEMORIA o algo asi... ya revise todos los eventos en los ClienDataSet y no encontre nada que dispare el procedimiento...el Filtro que se activa lo uso en la forma de altas de Clientes, para que al teclear el nombre del cliente se evite dar de alta dos veces al mismo nombre.... a alguien le ha pasado lo mismo.? Gracias por su ayuda

Código Delphi [-]
procedure TFrmaltadeclientes.DBEdit2Change(Sender: TObject);
begin
 if DBGshowdoubleclient.Enabled=False then DBGshowdoubleclient.Enabled:=True;
  if DBGshowdoubleclient.Visible=False then  DBGshowdoubleclient.Visible:=True;

  with logicanegocio.CDSclieCOD do
  begin
    Filtered := False;
    Filter   := Format( 'CLIENTE LIKE %s ', [ QuotedStr('%' + DBEdit2.Text + '%') ] );
    Filtered := True;
    Refresh;
    DBGshowdoubleclient.Refresh;
  end;
end;
Responder Con Cita