Einzelnen Beitrag anzeigen

Benutzerbild von geronilsmo
geronilsmo

Registriert seit: 31. Mär 2004
Ort: Oldenburg in Holstein
7 Beiträge
 
Delphi 7 Architect
 
#1

Was mache ich mit Exceptions der Klasse EOleException ???

  Alt 5. Apr 2004, 12:05
Hallo und Hilfe!!

Woher kommen bzw. wie entstehen die Exceptions der Klasse EOleException
und wie kann ich die beim Debuglauf unterbinden/ignorieren/behandeln?

Zur konkreten Situation:
========================
Auf meiner Form1 liegt eine TADOConnection-Komponente "ADOConn",
die ueber ihre Provider-Eigenschaft "OraOLEDB.Oracle"
eine 9i-Oracle-Datenbank - Verbindung herstellt.
Funktioniert auch!

-----------------------------------------------------------------------------
Delphi-Quellcode:
    ADOConn.ConnectionString := 'Provider=OraOLEDB.Oracle;'    +
                                 'Password=tiger;'              +
                                 'Persist Security Info=False;' +
                                 'User ID=SCOTT;'               +
                                 'Data Source=TEST;' ;
    ADOConn.Open;
-----------------------------------------------------------------------------

Im sich anschliessenden ConnectComplete-Ereignis der Komponente pruefe ich
den EventStatus, ob alles Ok (= esOK) oder Fehler (= esErrorsOccured):

-----------------------------------------------------------------------------
Delphi-Quellcode:
    procedure TForm1.ADOConnConnectComplete( Connection: TADOConnection;
                                             const Error: Error;
                                             var EventStatus: TEventStatus );
    begin
        if EventStatus = esErrorsOccured then
            MessageDlg(Error.Description, mtWarning, [mbCancel],0)
        else if EventStatus = esOK then
            MessageDlg('Verbindung erfolgreich', mtInformation, [mbOK],0);
    end;
-----------------------------------------------------------------------------

In der IDE jedoch verhaelt sich der Debugger echt zum ...
Gibt der Oracle-Server einen Fehler zurueck (z.B. wg. falschem Passwort)
und der OnConnectComplete wird im Fehlerzweig korrekt und vollst. durchlaufen
(MessageDlg: 'ORA-01017: invalid username/password; logon denied'),
erhalte ich nach dem ganzen folgende Debugger-Meldung:

Zitat:
Benachrichtigung ueber Debugger-Exception

Im Projekt Projekt1.exe ist eine Exception der Klasse EOleException aufgetreten.
Meldung: 'ORA-01017: invalid username/password; logon denied'.
Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
Es wird keine Exception im aktuellen ConnectComplete ausgeloest!
Zudem hat die Errors-Collection der Connection-Komponente einen Count von 0!

Meine Frage also:
=================
Wie krieg' ich den Debugger bzw. die IDE dazu, bei EOleExceptions weiterzulaufen
bzw. wie behandle ich diese BlackBox-Exceptions korrekt?
die klage ist der gruss des kaufmanns

Freundschaft!
  Mit Zitat antworten Zitat