Tritt auf falls eine Anwendung versucht eine geschützte TurboDB Tabelle zum ersten Mal zu öffnen.
TTdbPasswordEvent = procedure(Sender: TObject; const TableName: string; var Password: string; var Key: LongInt; var Retry: Boolean) ofobject;
property OnPassword: TTdbPasswordEvent;
Beschreibung
Schreiben Sie eine Ereignisbehandlungsroutine um eine spezielle Aktion durchzuführen wenn die Anwendung versucht eine passwortgeschützte Tabelle zum ersten Mal zu öffnen. Um den Zugriff auf die Tabelle zu ermöglichen, muss die Prozedur die Parameter Password und Key setzen. Verwenden Sie Retry, um das Öffnen der Tabelle bei Bedarf zu verhindern. Wird für Retry True zurückgegeben, wird versucht die Tabelle mit dem neuen Passwort und Schlüssel zu öffnen. Wird für Retry False zurückgegeben, werde der Versuch die Tabelle zu öffnen beendet.
Hinweis
Falls keine Ereignisbehandlungsroutine für OnPassword existiert, TurboDB aber unzureichende Zugriffsrechte erkennt, wird eine Exception ausgelöst.
Beispiel
Das folgende Beispiel zeigt eine typische Ereignisbehandlungsroutine und den Quelltext zum Öffnen der Tabelle.
procedure TForm1.Password(Sender: TObject; const TableName: string; var Password: string; var Key: LongInt; var Retry: Boolean);
begin
// Angenommen die Tabelle ist passwortgeschuetzt aber nicht verschluesselt
Password := InputBox('Enter password', 'Password:', '');
Retry := (Password > '');
end;
procedure TForm1.OpenTableBtnClick(Sender: TObject);
begin
Database.OnPassword := Password;
try
Table1.Open;
except if not Table1.Active then begin
ShowMessage('Could not open table');
Application.Terminate;
end;
end;
end;