procedure FreeBookmark

Syntax:
procedure FreeBookmark(Bookmark: TBookmark);


Beschreibung:

Die Methode FreeBookmark gibt die Ressourcen eines bestimmten Bookmark-Objekts frei.

Mit FreeBookmark kann ein vorhandenes Bookmark-Objekt freigeben und anschließend erneut zugewiesen werden. Wird das Objekt nicht mehr benötigt, gibt die Methode den von ihm belegten Speicher frei.
Beispiel:

//In diesem Beispiel wird eine Schaltfläche verwendet, um den Wert eines Feldes im vorhergehenden Datensatz in das entsprechende Feld des aktuellen Datensatzes zu kopieren.

procedure TForm1.CopyDataClick(Sender: TObject);

var SavePlace: TBookmark; PrevValue: Variant; begin with MyData do begin { Positionsmarke abrufen, damit wir zum selben Datensatz zurückkehren können } SavePlace := GetBookmark; try

{ Zu vorhergehendem Datensatz wechseln }

FindPrior;

{ Wert abrufen }

PrevValue := Fields0.Value;

{ Zurück zu Positionsmarke wechseln.

Dies ist aber nicht mehr der nächste Datensatz, wenn die Datenmenge asynchron geändert wird. } GotoBookmark(SavePlace); { Wert zuweisen } Fields0.Value := PrevValue; { Positionsmarke freigeben } finally FreeBookmark(SavePlace); end; end;

end;

Damit die Schaltfläche deaktiviert wird, wenn kein vorhergehender Datensatz vorhanden ist, wird über das Ereignis OnDataChange des DataSource-Objekts ermittelt, ob der Benutzer zum Anfang der Datei gelangt ist (Eigenschaft BOF wird true). Ist dies der Fall, wird die Schaltfläche deaktiviert.

procedure TForm1.MyDataDataChange(Sender: TObject; Field: TField);

begin if MyData.Bof then CopyData.Enabled := False else CopyData.Enabled := True; end;