Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Runtime Error bei Programmende (https://www.delphipraxis.net/128439-runtime-error-bei-programmende.html)

DonnieDarko_02 29. Jan 2009 22:29


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

himitsu 29. Jan 2009 22:56

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?

DonnieDarko_02 29. Jan 2009 23:30

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:
unit HelpIntfs;
ist, weiß ich leider nicht, seh ich zum ersten mal, wie auch noch ein paar andere units die aufgetaucht sind
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

DonnieDarko_02 29. Jan 2009 23:33

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

Sir Rufo 29. Jan 2009 23:55

Re: Runtime Error bei Programmende
 
Zitat:

Zitat von DonnieDarko_02
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:
unit HelpIntfs;
ist, weiß ich leider nicht, seh ich zum ersten mal, wie auch noch ein paar andere units die aufgetaucht sind
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

Du hast den Code und weisst nicht woher der Fehler kommt ... wir haben den Code nicht und sollen es wissen? Und ich gleube mit einem Stückl Code ist in diesem Fall wohl auch nicht getan ...

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

nahpets 30. Jan 2009 09:18

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.

Luckie 30. Jan 2009 09:21

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.

DonnieDarko_02 31. Jan 2009 10:16

Re: Runtime Error bei Programmende
 
also so sieht die prozedur fürs schließen aus

Delphi-Quellcode:
procedure TForm3.Button1Click(Sender: TObject);
begin
form3.Close;
form2.Close;
form1.Close;
end;
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?!

Pitti911 31. Jan 2009 18:55

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 ;)

DonnieDarko_02 3. Feb 2009 09:43

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 19:53 Uhr.
Seite 1 von 2  1 2      

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