Pssst, per Class-Helper als Funktion and TDataSet hängen, anstatt als irgendwo rumliegende eigenständige Funktion.
So hat man auch mehr Spaß am CodeInsigt/CodeVervollständigung.
Und nein, man kann sich auch das Interface speichern, um schon vor Prozedurende das Freizugeben.
Also das läuft ja bis zum END.
Delphi-Quellcode:
begin
DataSet.BookmarkAndDisable;
...machwas
end;
Aber hier ist vorher Schluss.
Delphi-Quellcode:
var
Bookmark: IDBTool; // oder IInterface
begin
Bookmark := DataSet.BookmarkAndDisable;
try
...machwas
finally
Bookmark := nil; // alternativ kann man auch ein Bookmark.EnableBookmark; anbieten
end;
...machnochwas
end;
Da wir hier ein Interface haben, können wir das Try-Finally auch weglassen, denn Delphi baut implizit ein Try-Finally für solche lokalen Variablen ein, um sie freizugeben/finalisieren.
Delphi-Quellcode:
var
Bookmark: IDBTool; // oder IInterface
begin
Bookmark := DataSet.BookmarkAndDisable;
...machwas
Bookmark := nil;
...machnochwas
end;