Marcos gracias por la respuesta. En el programa que hice tuve que usar la solucion que me dijiste en la parte final de tu respuestas pero en este caso solo se trata de cuando uno va a eliminar un registro tratando de mantener el fichero original, de todas maneras voy a intentar lo que dices porque la vez anterior no tuve otra alternativa y estube fajado varios dias. Te muestro parte del codigo a ver si aprecias algo nuevo
Código:
procedure PackDBF(Tabla: TTable);
begin
Check(DbiPackTable(Tabla.DBHandle, Tabla.Handle, nil, szDBASE, True))
end;
procedure TFormCorrecionCadeca.FormActivate(Sender: TObject);
begin
DataModule1.Cadeca.TableName:= nomcadeca;
DataModule1.Cadeca.Exclusive:= True;
DataModule1.Cadeca.Open;
ButtonGuardar.Enabled:= False;
end;
procedure TFormCorrecionCadeca.DSCadecaDataChange(Sender: TObject;
Field: TField);
begin
ButtonGuardar.Enabled:= DataModule1.Cadeca.State in dsEditModes;
end;
procedure TFormCorrecionCadeca.ButtonGuardarClick(Sender: TObject);
begin
DataModule1.Cadeca.Post;
ButtonGuardar.Enabled:= False;
end;
procedure TFormCorrecionCadeca.ButtonSalirClick(Sender: TObject);
begin
PackDBF(DataModule1.Cadeca);
DataModule1.Cadeca.Close;
Close;
end;