Wenn ich mit delphi mein programm ein paar mal gestartet habe stürzt mein Computer ab.
Kann das daran liegen, dass ich mal eine Variable, die ich mit create erzeugt habe, nicht mit free geschlossen habe und dadurch der Arbeitsspeicher voll wird???
Kann das daran liegen, dass ich mal eine
Variable, die ich mit create erzeugt
habe, nicht mit free geschlossen habe und
dadurch der Arbeitsspeicher voll wird???
Bitte naehere Informationen. Wie stuerzt der Computer ab? Geht Strg+Alt+Entf nachher noch, System ausgelastet, Schutzverletzung??? Was fuer eine Delpih-Version verwendest Du???
Es ist eigentlich so nicht moeglich den Arbeitspeicher voll zu machen, weil der Speicher wieder freigegeben wird, sobald das Programm beenden wird (NICHT mit Delphi 1), ausser Du verwendest spezielle API-Funktionen, vorallem bei Verwendung mancher IPC-Funktionen kann bei Programmbeendigung mit Strg+F2 im Delphi zu Problemen kommen.
Delphi4 hat bei groesseren Projekten Probleme mit den DSK-Dateien. Diese Dateien loeschen (Projektname.dsk) und das in den Optionen eventuell abschalten.
Das bedeutet also wenn ich z.B. eine TStringlist mit create erzeuge muss ich diese auch wieder mit free schliessen, sonst bleibt der speicherplatz belegt oder wie?
Delphi+absturz+antw
Ich benutze Delphi 3. Ich starte das Programm und öffne als MDIChild ein Fenster mit einer TListview. Das Fenster wird erzeugt und das TListview wird angezeigt aber die Scrollbar nicht mehr. Dann bleibt der Rechner einfach hängen. Nach STRG-ALT-ENTF kann ich das programm schliessen, aber nach dem Klick auf Task beenden bleibt er ganz hängen.
Ja. Sonst gibt’s ein Memory-Leak, da Windows denkt, dieser Speicher gehöre noch jemanden. Solche Sachen stehen übrigens im OOP-Kapitel der Object Pascal Referenz.
Wenn man ein Programm mit Strg+Alt+Entf beendet, das vom Delphi aus gestartet wurde, ist ein Absturz nichts besonderes, weil das Delphi damit Probleme hat.
Hast Du Dir schon mal ueberlegt, dass Du die ListBox vielleicht in einer Endlosschleife fuellst? Kannst Du nicht zurueck zum Delphi gehen und dort auf „Pause“ klicken?