![]() |
Runtimeerror 216 at 00404856
Hallo an Alle!
Seit einer Änderung an einem Delphi-Programm (zur Laufzeit werden nun Daten aus einer Ini-Datei gelesen) erhalte ich nach dem Beenden des Programms immer die folgende Fehlermeldung: "Runtimeerror 216 at 00404856" Einen Trojaner, wie im Internet oft geschrieben wird, kann ich ausschließen. Die Threads im Forum zu diesem Thema habe ich auch bereits gelesen, leider haben sie mir nicht weitergeholfen. Welche Ursachen könnten noch vorliegen? Wie kann ich sie finden? Schonmal Danke für Eure Hilfe! |
AW: Runtimeerror 216 at 00404856
Mehr als
![]() |
AW: Runtimeerror 216 at 00404856
Die Unit SysUtils macht die EXE zwr etwas größer, aber in Bezug auf Fehlerbehandlung ist die schon ganz nützlich, daß sie derartige Fehlercodes in "schöne" Exceptions umwandelt, welche man ganz einfach auswerten kann.
|
AW: Runtimeerror 216 at 00404856
@DeddyH: Erstmal Danke für deine schnelle Antwort!
Im Gegensatz zum Problem im besagten Thread ist bei mir der RuntimeError immer reproduzierbar und tritt nur beim Beenden der Anwendung auf. Ich vermute das es irgendwas mit der Prozedur TApplication.DoShowOwnedPops oder mit dem Object.Free zu tun hat. Leider war es mir aber bisher nicht möglich, den genauen Punkt im Code zu finden... @himitsu: die Unit SysUtils ist bereits eingebunden. Ich vermute nur, ich nutze sie falsch... |
AW: Runtimeerror 216 at 00404856
- in den Projektoptionen "mit Debug-DCUs kompilieren" aktivieren
- Haltepunkt auf das
Delphi-Quellcode:
der DPR
end.
- und dann mit F7/F8 weitermachen, sich zur Fehlerstelle vorarbeiten und wenn man diese hat, dann versuchen rauszufinden was da nicht stimmt und von wo dieses stammen könnte. |
AW: Runtimeerror 216 at 00404856
Jepp, das ist der Ansatz den ich bisher auch schon verfolge. Leider komme ich aber nirgendwo an. Irgendwo on den bereits genannten Prozeduren klicke ich mich mit F7 und Co scheinbar endlos durch.
|
AW: Runtimeerror 216 at 00404856
Zitat:
|
AW: Runtimeerror 216 at 00404856
Das interesaante dabei ist, dass die Stelle mit dem Lesen nur unter bestimmten bedingungen aufgerufen wird. Den Error bekomm ich aber schon, wenn diese bedingungen nicht erfüllt sind...
Hier trotzdem der Code zum Lesen der Ini-Datei
Delphi-Quellcode:
Mit Datapath ist das aktuelle Arbeitsverzeichnis gemeint. Dies ist korrekt und auch die ini-Datei ist darin vorhanden.
function Qx_Check (MaterialNr : Integer) : Integer;
var Ini : TIniFile; Zahl : Integer; begin Ini := TIniFile.Create(DATAPATH+'SPE4000.ini'); try if ini.ValueExists('Qx_Check', IntToStr(MaterialNr)) then begin Zahl := ini.ReadInteger('Qx_Check', IntToStr(MaterialNr), 0); end; finally Ini.Free; end; Result := Zahl; end; |
AW: Runtimeerror 216 at 00404856
Der Result ist zwar gegf. ein zufälliger Stackwert, ansonsten sieht das nicht böse aus....
|
AW: Runtimeerror 216 at 00404856
RunTime Error 216 ist eine Access Violation, wenn ich mich nicht täusche.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz