TurboDB VCL/CLX Komponenten Bibliothek
TTdbDatabase.OnPassword
TTdbDatabase
Top 


Tritt auf falls eine Anwendung versucht eine geschützte TurboDB Tabelle zum ersten Mal zu öffnen.

TTdbPasswordEvent = procedure(Sender: TObject; const TableName: stringvar Password: stringvar Key: LongInt; var Retry: Boolean) of object;
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: stringvar Password: stringvar 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;