Einzelnen Beitrag anzeigen

HStrohmaier

Registriert seit: 8. Aug 2008
2 Beiträge
 
#1

Run-Time Error 216 beim Beenden der Anwendung

  Alt 8. Aug 2008, 11:30
Hallo!

Ich habe ein seltsames Phänomen auf einem meiner Dev-Systeme ((D6 Ent., UP2): Einige meiner Anwendungen melden beim Beenden einen Runtime-Error 216. Mit dem Debugger oder der Suche nach Laufzeitfehler komme ich nur auf (mir) nichtssagende Teile des Assembler-Codes im CPU-Fenster. Interessanterweise tritt dieser Fehler *nicht* auf, wenn ich die Anwendung vor dem Beenden minimiere und wieder herstelle oder alternativ irgendein anderes Fenster auf dem Desktop kurz anklicke und meine Anwendung wieder aktiviere. Ein automatisiertes Minimize in der DPR-Datei als letzte Anweisung vor den ganzen finalization-Abschnitten löst das Problem ebenfalls:

Delphi-Quellcode:
...
  Application.Run;
  Application.Minimize;
End;

Was auch noch hilft: im Debugger einen Breakpoint auf das "End;" setzen und zwei bis drei Sekunden warten und dann mit F9 weiterlaufen lassen. Schon geht es

Der Anwendung ist lediglich ein FromDestroy-Ereignis zugeordnet, welches aber keinen Einfluß auf den beschriebenen Effekt zu haben scheint. Die von mir verwendeten 3rd-Party-Bibliotheken sind u.a. IP*Works!, NTSet, CoolTrayIcon, u.a. und ich binde diverse ActiveX-Controls ein. ShareMem hat keinen Einfluß und schrittweises Entfernen von Code macht mich wahnsinnig, weil ich zwar Code entfernen kann, bis der Effekt nicht mehr auftritt. Aber wenn ich dann den letzten Schritt wieder rückgängig mache, tritt das Problem oftmals gar nicht auf. Ich muß dann wieder mehrere Schritte einmal zurück und kann den Fehler trotz systematischer Suche nicht richtig eingrenzen.

Viele Grüße

-=HS=-
  Mit Zitat antworten Zitat