Announcement

Collapse
No announcement yet.

Exception bei fehlerhaften Anmeldeversuch

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Exception bei fehlerhaften Anmeldeversuch

    Hallo,

    Wie kann ich verhindern, daß eine Exception ausgelöst wird,
    wenn sich der Benutzer wegen eines falschen Paßwortes anzumelden
    versucht.

    Fehlermeldung: Exception der Klasse EIBInterbaseErrror
    Your username and password are not defined....

    Delphi5, IBX und IB6

    Das gleiche Verhalten tritt auch im RedSys2 Musterprojekt auf.

    Gruß Hans

  • #2
    Hallo,

    über einen TRY-EXCEPT-Block lässt sich dieses Problem lösen. Das folgende Beispiel zeigt die Erweiterung am Beispiel von RedSys2:
    <pre>
    function TDM.DoLogin(sGDBPath, sUserName: String): Boolean;
    begin
    with IBDatabaseMain do
    begin
    DatabaseName := sGDBPath;
    Params.Values['user_name'] := sUserName;
    LoginPrompt := True;
    try
    Connected := True;
    except
    ShowMessage('Oops');
    Abort;
    end;
    end;
    IBTransactionMain.Active := True;
    Result := IBDatabaseMain.Connected;
    end;
    </pre&gt

    Comment


    • #3
      Hallo Hr.Kosch,

      danke für den Hinweis ich habs auch so ausprobiert.
      Die Exeception ist aber nach wie vor
      kurz vor dem Anzeigen der Message 'Oops' aufgetreten.

      Die Exception wurde im Unit IB.Pas bei der Abfrage

      If sqlcode <> -551 then
      raise EIBInterBaseError.Create(sqlcode,IBErrorCode, usr_msg)
      else
      .......
      ausgelöst.

      Erst durch ersetzen der Anweisung raise..... gegen abort
      wurde das gewünschte Ergebnis erzielt.
      Kann ich vor dem Aufruf der IB.pas das Anzeigen von Meldungen
      deaktivieren ohne die Unit umzuprogrammieren

      Comment


      • #4
        Hallo,

        &gt;Die Exeception ist aber nach wie vor kurz vor dem Anzeigen der Message 'Oops' aufgetreten.

        man muss zwischen 2 Fällen unterscheiden: <br>
        1. Programm wird aus Delphi heraus gestartet <br>
        2. Programm wird aus dem Explorer heraus gestartet.

        Im Fall 1 hält der integrierte Delphi-Debugger in der Voreinstellung <b>immer</b> an, um die Exception-Meldung durchzureichen. Wenn der normale Anwender das Programm startet, sieht er nur den ShowMessage-Aufruf

        Comment


        • #5
          Hallo Hr.Kosch,

          danke jetzt funktionierts

          Comment

          Working...
          X