AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Runtime Error 216

Ein Thema von hsbc · begonnen am 23. Jun 2008 · letzter Beitrag vom 24. Jun 2008
Antwort Antwort
Seite 1 von 2  1 2      
hsbc

Registriert seit: 28. Jan 2004
Ort: Krems/Donau
404 Beiträge
 
Delphi 7 Professional
 
#1

Runtime Error 216

  Alt 23. Jun 2008, 11:22
Hallo allerseits,

Meine Delphi-Anwendung liefert eine Fehlermeldung:

Zitat:
Anwendung hat einen Fehler festgestellt und muss beendet werden.
...
Melden / Nicht melden
Wenn ich nun auf Nicht melden drücke, so erscheint ein weiteres kleines Fenster mit folgendem Inhalt:

Zitat:
Runtime Error 216 at 00404126
Das Interessante ist, dass die Anwendung entgegen der Meldung nicht beendet wird, sondern bis zum Schluss ordnungsgemäß abläuft.

Was sagt mir die Fehler-Adresse? Wie kann ich feststellen, warum der Fehler ausgelöst wird?

Ja, noch was: Die Meldung kommt nur dann, wenn im Hintergrund ein Programm für ShutDown läuft, jedoch zu diesem Zeitpunkt keine Aktion auslöst. Wenn ich dieses ShutDown-Programm nicht laufen habe, kommen auch keine Fehlermeldungen von meinem Programm.
Starte ich von meiner Anwendung jedoch eine andere (ältere) Version, so funktioniert es auch parallel mit ShutDown.

Ein Virus ist ebenfalls keiner auf der Platte. Diese wurde komplett mit dem neuesten Virenscanner Avira AntiVir Personal durchgescannt.

Wie kann ich vielleicht auf Grund der Fehler-Adresse herausfinden, was die Ursache ist.

mfg
Herbert
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Runtime Error 216

  Alt 23. Jun 2008, 11:27
Der Fehler tritt auf, nachdem das Delphiprogramm (Application-Object) beendet wurde. Du kannst versuc hen, mit dem integrierten Debugger der IDE den Fehler zu lokalisieren. Stelle die Compiler-Option 'Mit Debug-DCU' in den Projektoptinen ein, setze einen Breakpoint auf die letzte Zeile des Programmquelltextes (auf das 'End.') und beende dein Programm in der IDE.
Dann gehst Du per Einzelschritt vorwärts. Diese Fehler sind nicht leicht zu lokalisieren, vermutlich wird irgendwo im finalization-Abschnitt ein Objekt verwendet, das nicht mehr gültig ist. Kandidaten dafür sind z.B. Threads, die in ihrer Terminationsroutine auf Objekte der Unit 'Classes' zugreifen, die aber schon freigeben wurden.
Abhilfe: Gib die Threads frei BEVOR das Programm terminiert.

Virus & Co kann man zu 99.999% ausschließen. Der Fehler liegt immer im Programm(ierer).
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
hsbc

Registriert seit: 28. Jan 2004
Ort: Krems/Donau
404 Beiträge
 
Delphi 7 Professional
 
#3

Re: Runtime Error 216

  Alt 23. Jun 2008, 11:52
Hallo,

das ging aber schnell.

Kann es sein, dass ein Timer die Ursache sein könnte? Ich werde mir mal ansehen, ob dieser zum Zeitpunkt des Beendens noch enabled ist.

Das Problem beim Debuggen ist folgendes:

Auf dem Rechner, wo der Fehler auftritt, ist kein Delphi installiert.
Auf meinem Delphi-Rechner hingegen tritt dieser Fehler überhaupt nie auf.

mfg
Herbert
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Runtime Error 216

  Alt 23. Jun 2008, 11:57
Kleiner Tipp, guck mal in der Hilfe nach, was Laufzeitfehler 216 ist.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
hsbc

Registriert seit: 28. Jan 2004
Ort: Krems/Donau
404 Beiträge
 
Delphi 7 Professional
 
#5

Re: Runtime Error 216

  Alt 23. Jun 2008, 12:13
Hallo nochmals,

ich lese schon eine ganze Zeit lang in den diversen Unterlagen. Zum Fehler 216 gibt es leider keine eindeutige Antwort. Einmal heisst es, es kann ein Virus (Trojaner SubSeven) sein, dann heisst es wieder, es können Programme sein, die im Hintergrund laufen, usw.

Ich glaube aber, dass es doch an meiner Application liegen muss, obwohl auf verschiedenen Rechnern verschiedene Ergebnisse entstehen.

Bei dem obigen Tipp mit dem Breakpoint bin ich auf folgende Routine einer eingebundenen Indy-Unit gekommen:

Delphi-Quellcode:
initialization
  RegisterFTPListParser(TIdFTPLPMusic)
finalization
  RegisterFTPListParser(TIdFTPLPMusic)
end;
Das kann doch nicht stimmen. In der finalization sollte doch stehen: UnRegister....

Ich habe das mal geändert und neu compiliert. Mal sehen, was passiert.

mfg
Herbert
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Runtime Error 216

  Alt 23. Jun 2008, 13:03
also meine Hilfe sagt ganz eindeutig dazu:
Zitat:
216 Schutzverletzung EAccessViolation
Und warum sollte ein anderes Programm in deiner Anwendunge eine AccessViolation auslösen?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
hsbc

Registriert seit: 28. Jan 2004
Ort: Krems/Donau
404 Beiträge
 
Delphi 7 Professional
 
#7

Re: Runtime Error 216

  Alt 23. Jun 2008, 13:12
Hallo Luckie,

genau, das ist ja auch meine Meinung, nur wie komme ich dem Übeltäter auf die Spur.

Wie könnte ich vorgehen, um die Ursache zu finden?

Kann ich aufgrund der Fehler-Adresse etwas finden?

mfg
Herbert
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: Runtime Error 216

  Alt 23. Jun 2008, 13:31
Verwendest Du dll's?
Dann fehlt bestimmt ein ShareMem in der dpr als ersten Eintrag bei den uses.
Wenn Du eine dll per Assistent erstellst, wird in den dpr der dll ein Hinweis auf sharemem gegeben.

Falls ohne dll, dann kannst Du die sharemem trotzdem einbinden. Tut ja nicht weh.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#9

Re: Runtime Error 216

  Alt 23. Jun 2008, 13:33
Zitat von hsbc:
Wie könnte ich vorgehen, um die Ursache zu finden?

Kann ich aufgrund der Fehler-Adresse etwas finden?
Hallo, du könntest mal madexcept installieren.
Sollte dir dann die Zeile im Code angeben, wo der Fehler herkommt.
Thomas
  Mit Zitat antworten Zitat
hsbc

Registriert seit: 28. Jan 2004
Ort: Krems/Donau
404 Beiträge
 
Delphi 7 Professional
 
#10

Re: Runtime Error 216

  Alt 23. Jun 2008, 14:02
@RavenIV

Wenn ich ShareMem hinzufüge, kommen auch auf dem Entwickler-PC folgende Fehler:

Runtime Error 216 at 00404172 und nach wiederholten Aufrufen
Runtime Error 217 at 0041BED4


@toms

madexcept habe ich installiert. Muss ich da irgendetwas starten bzw. einfügen, damit ich etwas sehe?

mfg
Herbert
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz