TurboDB VCL Komponenten Bibliothek TTdbDatabase.OnPassword |
Previous Top Next |
Tritt auf falls eine Anwendung versucht eine geschützte TurboDB Tabelle zum ersten Mal zu öffnen.
Delphi Syntax:
TTdbPasswordEvent = procedure(Sender: TObject; const TableName: string; var Key: WideString; var Retry: Boolean) of object;
property OnPassword: TTdbPasswordEvent;
C++ Syntax:
typedef void __fastcall (__closure *TTdbPasswordEvent)(System::TObject* Sender, const AnsiString TableName, WideString &Key, bool &Retry);
__property TTdbPasswordEvent OnPassword = {read=FOnPassword, write=FOnPassword};
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 den Parameter 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 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 Key: WideString; var Retry: Boolean);
begin
Key := InputBox('Enter password', 'Password:', '');
Retry := (Key > '');
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;