También mira si tienes procedimientos que se ejecuten como eventos de algunas tablas.
OnBeforeInsert/Update/Post/Close/Open
OnAfterInsert/Update/Post/Close/Open
Debuga con alguna forma de log apra ver cuanto tarda cada parte;
Código Delphi
[-]
procedure Log(s: string);
var
F : TextFile;
FileName : string;
begin
FileName := ChangeFileExt(Application.ExeName, '.log');
AssignFile(F, FileName);
try
Append(F);
except
try
Rewrite(F);
except
on e: Exception do
ShowMessage('LOG - Error al abrir fichero : ' + FileName + #13#10 + e.Message);
end;
end;
WriteLn(F, FormatDatetime('[yyyy-mm-dd hh:nn:ss.zzz] ', Now) + s);
CloseFile(F);
end;
[...]
Log('Insert');
IbTablePedidos.Insert
Log('Asignacion');
IbTablaPedidosID.Asinteger:=StrtoInt(edit1.text);
IbTablaPedidosCodigo.AsInteger:=Strtoint(edit2.text);
.
.
.
IbTablaPedidosCantidad:AsInteger:=StrtoInt(Edit20.text);
Log('Post');
IbTablePedidos.post;
Log('Fin Insert');