Ver Mensaje Individual
  #4  
Antiguo 04-04-2006
lgarcia lgarcia is offline
Miembro
 
Registrado: jul 2004
Posts: 481
Reputación: 20
lgarcia Va por buen camino
solucion al pack de fichero dbf

Utilizando el truco 96 de trucomania se logro resolver el problema pero el detalles estaba en que al cerrar el formulario primero hay que cerrar la tabla y luego hacer el Pack y ademas hay que pasar en el nombre del fichero la extension del mismo (.dbf)

Asi fue como lo pudimos lograr, quizas a alguien le pueda servir
Código:
procedure PackDBF(Const ADatabase, ATable : String);
begin
  with TTable.Create(nil) do
  try
    DatabaseName := ADataBase;
    TableName := ATable;
    TableType := ttFoxPro;
    Exclusive := True;
    Open;
    Check(DbiPackTable(Database.Handle,Handle,'','',True));
  finally
   Free;
  end;
end;
procedure TFormCorrecionCadeca.FormActivate(Sender: TObject);
begin
  DataModule1.Cadeca.TableName:= nomcadeca;
  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
  DataModule1.Cadeca.Close;
  PackDBF('',nomcadeca + '.dbf');
  Close;
end;
Responder Con Cita