TurboDB VCL Komponenten Bibliothek

TTdbDatabase.OnPassword

TTdbDatabase

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;