Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Runtime Error 217 beim Beenden! Finde keinen Fehler! (https://www.delphipraxis.net/131326-runtime-error-217-beim-beenden-finde-keinen-fehler.html)

SimStar001 23. Mär 2009 07:28


Runtime Error 217 beim Beenden! Finde keinen Fehler!
 
Hallo, ich habe ein Problem, dass beim Beenden meines Programms immer, zumindest sehr sehr oft der Runtime Error 217 angezeigt wird.

Ich habe auch schon die anderen Beiträge dazu gelesen und nix verwertbares für mich herausgelesen.

Es hieß mal irgendwo, wenn dieser Fehler kommt, hat es was mit dem Speicher oder so zu tun. Sprcih, irgendwas wird nicht richtig freigegeben bzw. soll eine Macke von Windows sein, wo nix weiter richtig bekannt ist? :gruebel:

Habe meinen Code auch schon auf solche Sachen hingehend geprüft und nix gefunden.

Ich verwende eine Menge Timer im Programm. Ich weiß nicht ob es was damit zu tun haben könnte? Auch werden diese vor dem Beenden auf
Delphi-Quellcode:
Timerxyz.enabled := false;
gesetzt und gewartet, bis alle Timer mit dem Ausführen Ihres Codes fertig sind.

Ich glaube sogar, dass der Fehler erstmalig auftrat, nachdem ich statt nur 3 Scrollboxen, 5 Scrollboxen zur Laufzeit erzeugt habe.

Diese werden aber alle auf der Form erzeugt, also so:
Delphi-Quellcode:
Box1 := TScrollBox.create(Form1);
Das heißt, dass ich sie beim Beenden nicht wieder extra freigeben muss.


Ich weiß nicht mehr weiter, wo ich noch suchen soll? :gruebel: Eines aber weiß ich: Der Fehler nervt gewaltig! :wall: :wall:


Ich hoffe das reicht erstmal an Infos. Vielleicht hat ja jemand noch eine Idee, wie ich weiter verfahren könnte.

Lg Marco!

ringli 23. Mär 2009 08:55

Re: Runtime Error 217 beim Beenden! Finde keinen Fehler!
 
Habe mal ein bisschen gegoogelt. Hier ein paar Seiten die du dir mal durchlesen kannst:

http://www.delphifaq.com/faq/f84.shtml
http://www.spotlight-wissen.de/archi...e/1178624.html
http://qc.embarcadero.com/wc/qcmain.aspx?d=25253

Vielleicht ist ja ein Hinweis für dich dabei.

SimStar001 23. Mär 2009 10:35

Re: Runtime Error 217 beim Beenden! Finde keinen Fehler!
 
Ne, irgendwie will mir da auch nix richtig zusagen...

Ich werde mal weiter suchen und schaun, ob ich nicht irgenwo doch noch was finde!

shmia 23. Mär 2009 10:50

Re: Runtime Error 217 beim Beenden! Finde keinen Fehler!
 
Hast du irgendwo einen finalization-Abschnitt in deinem Code (oder auch Code von installierten Komponenten)?

SimStar001 23. Mär 2009 10:57

Re: Runtime Error 217 beim Beenden! Finde keinen Fehler!
 
Da muss ich nachsehen, Antwort kommt heute Abend! Bis dahin erstmal danke!

Zoot 23. Mär 2009 11:07

Re: Runtime Error 217 beim Beenden! Finde keinen Fehler!
 
Zitat:

Zitat von SimStar001
Diese werden aber alle auf der Form erzeugt, also so:
Delphi-Quellcode:
Box1 := TScrollBox.create(Form1);

Was du erzeugst, solltest du auch freigeben.

SimStar001 23. Mär 2009 11:53

Re: Runtime Error 217 beim Beenden! Finde keinen Fehler!
 
Eben nicht, hatte dazu auch mal ne Beitrag offen, kann den nicht mehr finden. Dort wurde mir versichert, dass wenn ichs auf der Form erzeuge auch nicht freigeben muss, da es bei freigeben der form geschieht.

War das Falsch?!

messie 23. Mär 2009 12:12

Re: Runtime Error 217 beim Beenden! Finde keinen Fehler!
 
nö, das war richtig.

Beim create übergibst Du den Owner, der bei seinem destroy dieses Objekt mit freigibt.

Zitat:

Zitat von Delphi-Hilfe
EControlC ist die Exception-Klasse für das Drücken der Tastenkombination STRG+C in Konsolenanwendungen.

Unit

SysUtils

Beschreibung

EControlC wird ausgelöst, wenn ein Benutzer STRG+C drückt, um eine Konsolenanwendung zu beenden.

Laufzeitinformationen zu Exceptions werden in den von EExternal bereitgestellten Feldern gespeichert.

Das ist nach meiner Hilfe der Runtime Error 217.

Hast Du irgendwo Events mit Tastatureingaben verknüpft?

Grüße, Messie

SimStar001 23. Mär 2009 15:42

Re: Runtime Error 217 beim Beenden! Finde keinen Fehler!
 
Nein habe ich nicht.

Ich habe gerade nochmal nachgesehen, welche Komponenten ich verwende.

Verwendet wird:

- Synactis PDF Viewer
- RARComponent_d2009.dproj
- TSRemote.dll von TeamSpeak
- unrar.dll

Wie schon erwähnt werden zur Laufzeit erzeugt:
- 5 Scrollboxen (create(Form1));
- 5 Record mit Images (max = 220);
- 1 Record mit allen Daten die Verarbeitet werden während der Laufzeit. (Statisches Array mit max 220)


Es werden geladen, die TSRemote.dll

und benutzt, bei bedarf die Unrar.dll


Die TSRemote.dll wird alle 300ms angesprochen, über einen Timer. Dieser wird jedoch erst wieder ausgeführt, wenn der gesammte COde auch zu ende ausgeführt worden ist.

Zur Zeit schließe ich während des Beendens nix, weder die dll, noch mache ich irgendetwas anderes. (Vorher habe ich das alles gemacht, mit den gleichen resultaten wie jetzt)

shmia 23. Mär 2009 16:28

Re: Runtime Error 217 beim Beenden! Finde keinen Fehler!
 
Schreib' in das OnClose Event des Formulars einen Dummybefehl (z.B. ShowMessage('Prog wird beendet')) und setze dort einen Breakpoint.
Dann im Einzelschritt weitergehen, bis Delphi eine Exception meldet.
Wenn die Exception gemeldet wird, ist es ja schon zu spät; also musst du dort wo du vorher durchgestept bist einen weiteren Breakpoint setzen und so das Problem immer mehr einkreisen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:25 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