Announcement

Collapse
No announcement yet.

Hilfe! Exceptions werden nicht mehr angezeigt.

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

  • Hilfe! Exceptions werden nicht mehr angezeigt.

    Hallo,

    ich habe bei einem Projekt ein Phänomen, das ich mir nicht erklären kann. Fiel mir bei der Fehlersuche auf:

    Es wird keine Exception mehr angezeigt, das Programm ignoriert diese einfach.

    Versuchsweise habe ich z.B. diesen Code eingefügt, der eine Zugriffsverletzung ergeben muss, da Form2 noch nicht erstellt wurde:

    <pre>
    Form2.color := clred;
    </pre>

    Es passiert einfach gar nichts. Was kann die Ursache sein? (Bei einem neu angelegten Projekt ist alles ganz normal - Compilereinstellungen sind aber dort dieselben).

    Delphi5 Enterprise, Windows XP Prof. SP2.

    Danke für Hilfe im Voraus. Gruß Felix

  • #2
    Hilfe kann ich nicht bieten, aber einen ähnlichen Effekt unter D7/XP Sp2. Bei solch fehlerhaften Zugriff bleibt Delphi einfach stehen, keine Prozessorauslastung, keine Fehlermeldung. Mit Strg+F2 ist es problemlos rücksetzbar.<p>
    Der einzige Trost: Ausserhalb von Delphi kam der Fehler.<p>
    Das Problem: Mit einfachen Projekten habe ich es nicht reproduzieren können.<p>
    Schöne Grüße, Mario Noack<p>
    PS: Ich bilde mir ein, auf meinem alten Rechner mit Win2k war das Problem noch nicht da, den Rechner gibt nur leider nicht mehr zum Probieren
    Schöne Grüße, Mario

    Comment


    • #3
      Außerhalb von Delphi kommt der Fehler auch nicht. Und Delphi bleibt auch nicht stehen - es ignoriert die Exception einfach.

      Gruß Feli

      Comment


      • #4
        Checke mal: Tools-Debugger Optionen-SprachExceptions<p>
        Grüße, Mari
        Schöne Grüße, Mario

        Comment


        • #5
          Danke, habe ich schon gecheckt. Alles normal. Diese Einstellung gilt ja auch für alle Projekte, das Problem tritt nur bei einem Projekt auf.

          Gruß Feli

          Comment


          • #6
            So, nach stundenlanger Suche habe ich das Problem eingegrenzt: Eine TApplicationEvents, die ich auf einer Form platziert hatte, war offenbar schuld daran (ich fange damit Mousewheel-Messages ab).

            Erst das vollständige Entfernen der Komponente brachte dann alle Exceptions der Anwendung wieder zur Anzeige.

            Wenn ich TApplicationEvents auf dem Hauptform platziere, geht alles.

            Kann mir das jemand erklären???

            Gruß Feli

            Comment


            • #7
              Vielleicht existierte der Code von ApplicationEvent.OnException noch?<p>
              Schöne Grüße, Mario Noac
              Schöne Grüße, Mario

              Comment


              • #8
                Nein, da stand nie was drin.

                Gruß Felix

                Comment


                • #9
                  Im Initialization Teil der AppEvents wird eine Multicaster Komponente erzeugt die sich an Application.OnException hängt und diesen Event an alle laufenden TApplicationEvents Instanzen weiterleitet. Wenn es keine TApplicationEvents Instanz gibt sollte eigentlich die Standardroutine Application.ShowException ausgeführt werden. Der Multicaster scheint aber einen Bug zu haben so das im genannten Fall nicht ShowException aufgerufen wird sondern die Exception einfach im Nirvana zu verschwindet.

                  Wer Lust hat kann das ja mal durchdebuggen.
                  Der interessante(fehlerhafte) Teil sollte eigentlich in der AppEvents Unit in TMulticaster.DoException ablaufen.
                  Den Fehler konnte ich per reiner Sichtkontrolle nicht erkennen.

                  Gruß
                  Ral

                  Comment


                  • #10
                    Danke für die interessante Erklärung.

                    Gruß Feli

                    Comment

                    Working...
                    X