Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Runtimeerror 216 at 00404856 (https://www.delphipraxis.net/164231-runtimeerror-216-00404856-a.html)

roadrunner-S51 3. Nov 2011 13:57

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!

DeddyH 3. Nov 2011 14:05

AW: Runtimeerror 216 at 00404856
 
Mehr als diesen Thread habe ich leider nicht zu bieten.

himitsu 3. Nov 2011 14:07

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.

roadrunner-S51 3. Nov 2011 14:11

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...

himitsu 3. Nov 2011 14:14

AW: Runtimeerror 216 at 00404856
 
- in den Projektoptionen "mit Debug-DCUs kompilieren" aktivieren
- Haltepunkt auf das
Delphi-Quellcode:
end.
der DPR
- 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.

roadrunner-S51 3. Nov 2011 14:17

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.

Bummi 3. Nov 2011 14:17

AW: Runtimeerror 216 at 00404856
 
Zitat:

zur Laufzeit werden nun Daten aus einer Ini-Datei gelesen
wenn es nicht geheim ist kannst Du gegf. zeigen was Du wie machst, wenn Du liest wirst Du gegf. auch schreiben(zu einem ungünstigen Zeitpunkt?)

roadrunner-S51 3. Nov 2011 14:20

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:
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;
Mit Datapath ist das aktuelle Arbeitsverzeichnis gemeint. Dies ist korrekt und auch die ini-Datei ist darin vorhanden.

Bummi 3. Nov 2011 14:24

AW: Runtimeerror 216 at 00404856
 
Der Result ist zwar gegf. ein zufälliger Stackwert, ansonsten sieht das nicht böse aus....

Luckie 3. Nov 2011 15:01

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:03 Uhr.
Seite 1 von 3  1 23      

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