![]() |
Runtime Error bei Programmende
mein projekt besteht aus mehreren formularen, und während der laufzeit taucht an keiner stelle ein fehler auf, aber sobald ich das programm beende...sei es durch das schließen symbol in der form-titelleiste oder wenn ich eben durch ein ereignis alle forms per
form.close schließe, dann taucht Runtime Error 216 at 0040357E auf und das passiert egal, an welcher stelle ich beende das finde ich extrem eigenartig, warum gerade zum programmende sowas auftaucht und ich würde gern wissen, ob mir da jemand einen tip geben kann, woher dieses error stammt, denn mein delphi-verständnis ist noch nicht so groß... |
Re: Runtime Error bei Programmende
216 = reAccessViolation
Da wird wohl auf irgendwas zugegriffen, was nicht (mehr) existiert? Aber was/worauf, das will mir meine Glaskugel nicht sagen. bist du mal im Einzelschritt (mit F7) ab Form.Close weitergegangen und hast geschaut, ob/was wo passiert? |
Re: Runtime Error bei Programmende
also wenn der die drei form.close befehle durchlaufen hat und bei dem end für die prozedur ist geht der in die
HelpIntfs und durchläuft das bis zum end. und an dieser stelle erscheint dann das error, aber was überhaupt
Delphi-Quellcode:
ist, weiß ich leider nicht, seh ich zum ersten mal, wie auch noch ein paar andere units die aufgetaucht sind
unit HelpIntfs;
könnte ich dir vllt. irgendwie helfen, damit deine glaskugel ein wenig klarer sieht^^...sicherlich wäre ein stückel code effizienter, aber ich weiß eben absolut nicht, wo dieser fehler herkommt |
Re: Runtime Error bei Programmende
und im durchlauf dieser unit, sagts irgendwann dass die quelldatei Jconsts.pas nicht gefunden wurde und fordert mich auf selbst einen dateipfad für diese pas anzugeben...
|
Re: Runtime Error bei Programmende
Zitat:
Ist Deine Entscheidung ... aber so wird es schwierig bis unmöglich zu helfen ... BTW: Die JConsts.pas gehört zum JPEG-Geraffel ist auf der Delphi CD/DVD zu finden, die wird nicht automatisch installiert cu Oliver |
Re: Runtime Error bei Programmende
Hallo,
einmal :glaskugel: gepaart mit: Mensch, das Problem hat' ich doch auch schon mal. Bitte überprüf' mal, ob und wo Du zwischen den Formularen Abhängigkeiten hast. Sprich: Greifst Du z. B. aus Formular 1 auf irgendeine Komponente von Formular 2 oder 3 zu? (Dito in beliebiger Kombination zwischen den Formularen). Überprüfe dahingehend vor allem mal alle Ereignisroutinen, ob dort gegenseitige Zugriffe möglich sind. Der Fehler passiert dann, wenn auf Formulare... zugegriffen wird, die bereits freigegeben wurden. Du hast da beim Programmende (vermutlich) ein wie auch immer geartetes Reihenfolgeproblem. |
Re: Runtime Error bei Programmende
Eine andere Fehlerquelle wäre, wenn du zur Laufzeit Objekte erstellst mit dem Formular als Besitzer und diese wieder selbst freigibst, obwohl der Besitzer dafür verantwortlich ist. Und wenn dann der Besitzer das Objekt freigeben will, existiert es schon nicht mehr.
|
Re: Runtime Error bei Programmende
also so sieht die prozedur fürs schließen aus
Delphi-Quellcode:
also aus den antworten schließen ich, dass zu programmende sämtliche beziehungen zwischen den forms deaktiviert bzw. zerstört werden müssen...also ich habe das verständnisproblem, dass ich nich kapiere, wieso zum programmende überhaupt irgendwelche zugriffe gemacht werden müssen...die drei forms sollen doch einfach geschlossen werden...andere prozeduren werden dabei doch gar nciht beachtet oder?!
procedure TForm3.Button1Click(Sender: TObject);
begin form3.Close; form2.Close; form1.Close; end; |
Re: Runtime Error bei Programmende
ich glaube wenn du nur dein Hauptformular schließt sollte alles funktionieren wie schon weiter oben beschrieben werden die anderen Formulare automatisch geschlossen.
probier das mal aus un sag doch bitte hier ob Erfolg oder Misserfolg ;) |
Re: Runtime Error bei Programmende
das ist egal...ob ich die hauptform schließe oder eine der beiden anderen...passiert immer das gleiche...aber ich habe jetzt mal versucht alles vorher zu destroyen, da kommt jetzt nur noch: Format '%p' ungültig oder nicht kompatibel mit dem Argument.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:54 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 by Thomas Breitkreuz