Einzelnen Beitrag anzeigen

mjustin

Registriert seit: 14. Apr 2008
3.004 Beiträge
 
Delphi 2009 Professional
 
#9

AW: EAccessViolation führt zu unerwartetem APPCRASH

  Alt 23. Mai 2018, 08:10
Das Break verlässt nur die innere Schleife.
Danach kommt ein Disconnect, welches vermutlich einen Fehler verursachen wird.

Prüfe vor dem Disconnect, ob IsConnected True ist.
Im Delphi Debugger (mit abgeschaltetem madExcept) habe ich überprüft welche Codezeilen ausgeführt werden wenn der Server nicht mehr erreicht werden kann:
als Breakpoint habe ich die Zeile mit IsConnected := False gesetzt. Dort stoppt das Programm dann wie erwartet, aber von dort geht es mit F8 sofort aus der Prozedur heraus in das finally der aufrufenden Methode.


Delphi-Quellcode:
  ProducerLoop := TProducerLoop.Create(BROKER_URL, QUEUE_NAME);
  try
    ProducerLoop.Run; // die Run-Prozedur wird bei einer Exception verlassen ...
  finally
    ProducerLoop.Free; // ... und daher das Programm hier fortgesetzt
  end;
Michael Justin
  Mit Zitat antworten Zitat