Nur ein Lösungsansatz:
Das Datenmodul
Delphi-Quellcode:
unit DM_Datenmodul;
interface
uses
System.SysUtils, System.Classes, Dm.Helper
{helper - CommitAllTransactions};
type
TDatenModul =
class(TDataModule)
public
procedure AfterConstruction;
override;
end;
var
Datenmodul: TDatenModul;
implementation
{%CLASSGROUP 'Vcl.Controls.TControl'}
{$R *.dfm}
{Hier sind alle Objekte erzeugt}
procedure TDatenModul.AfterConstruction;
begin
inherited;
CommitAllTransactions;
end;
end.
Eigene
unit für die helper class
Delphi-Quellcode:
unit Dm.Helper;
interface
uses
System.Classes, IBX.KeineAhnung;
type
TDataModuleHelper =
class helper
for TDataModule
public
procedure CommitAllTransactions;
end;
implementation
procedure TDataModuleHelper.CommitAllTransactions;
Var
I: Integer;
AQuery: TIBQuery;
begin
for I := 0
to ComponentCount - 1
do
begin
if (Components[i]
is TIBQuery)
then
begin
AQuery := (Components[i]
as TIBQuery);
if AQuery.Transaction.InTransaction
then
AQuery.Transaction.Commit;
end;
end;
end;
end.
Damit kannst du das in allen Datenmodulen verwenden...