creo que te entiendo,
si tengo una clase que hereda a tthread tengo que hacer el llamado de synchronize en el execute
algo asi:
Código Delphi
[-]
procedure TPublisher.Execute;
begin
try
if(Self.tabla.State in dsEditModes)then begin
Synchronize(@Self.tabla.Post);
end;
except
on e:exception do handleException(e);
end;
end;
y en una funcion que guarde los cambios del dataset
crear una instancia y llamarlo antes del commit
algo asi:
Código Delphi
[-]
procedure TdmConexionDB.aceptarCambiosDataSet(var dataset: TIBCTable);
var
posteador:TPublisher;
bm:string;
begin
activarTransaccion;
try
try
bm:=dataset.Bookmark;
posteador:=TPublisher.Create(dataset); transacciones.CommitRetaining;
except
on e: Exception do
begin
transacciones.RollbackRetaining;
MessageDlg('Error '+e.ToString,'aceptarCambiosDataSet ' + dataset.Name + #13#10 + e.Message,mtError, [mbOK], 0);
end;
end;
finally
dataset.Bookmark:=bm;
end;
end;
yo lo entendi asi pero si me equivoco en algo te agradeceria que me corrigieras
gracias