![]() |
Delphi + Festplatte voll = Stream Fehler (Tipp)
Hallo,
Achtet darauf, dass auf eurer Festplatte immer genügend Speicher für die Speicherung eurer Projekte aus Delphi heraus vorhanden ist! Ich hatte gerade so einen Zustand. Festplatte voll wollte Speichern, da ich eine kleine Änderung im Quelltext gemacht habe -> IDE Fehler "Stream Fehler". Hmmm, ... ok. Delphi war ja auch schon mehrere Tage offen. Schließ ich's eben. War eh nur eine kleine Änderung seit dem letzten erfolgreichen speichern. <-- SCHWERER FEHLER VON MIR! Als Delphi dann geschlossen war und bekam ich über den Explorer mit, dass die Platte voll war (hatte mit Zip Archiven rumexperimentiert - entpackt je 700MB). Ok Platte aufgeräumt. Delphi neugestartet. Mein Projekt wieder aufgerufen. Hmmm ... Leeres Codefenster???? Nochmal versucht - wieder das Gleiche. Entsprechendes Verzeichnis im Explorer geöffnet - Dateigröße von unit1 ist auf null?! Verdammt eine halbe Woche Arbeit weg :( Glücklicherweise hatte ich ein Sicherung. Trotzdem ist ein ganzer Tag Programmierung im A*sch! Also, falls ihr mal den Fehler "Stream Fehler" bekommt, ERST die Plattenkapazität überprüfen und evt. wieder Speicherplatz freimachen oder woanders abspeichern. Das kann viel Arbeit ersparen... Btw. wieso sagt mir Delphi eigentlich nicht, dass zum Speichern kein Speicherplatz mehr vorhanden ist? MfG Hitzi |
Hat es doch, wenn es dir einen Fehler bringt....zwar nicht eindeutig, aber immerhin. Also mein Windows sagt bescheid, wenn die Festplatte zu so und soviel Prozent voll is...das kann man glaub ich irgendwo einstellen, weiß aber im moment nicht genau, wo...
Man liest sich, Stanlay |
Hallo,
Delphi legt doch per Voreinstellung immer Backups an, also was war denn mit unit1.~pas, war die denn auch platt? Außerdem, immer Autospeichern auf true, Grüße Woki |
Zitat:
Zitat:
MfG Hitzi |
Zitat:
Darum, daß noch genug Platz auf der Platte ist, muß man sich schon kümmern, Delphi kann das schwerlich tun, man denke z.B. an komprimierende Filessysteme, außerdem soll gerade Autospeichern natürlich schnell gehen, und wie gesagt, wenn man alle Sicherungen abschaltet... Grüße Woki |
Zitat:
Das ist ja wohl das mindeste was ich von einem Programm in dieser Preisklasse verlangen kann. Aber das geht am Thema vorbei - eigentlich wollte ich nur darauf aufmerksam machen das ein "Stream Fehler" beim Speichern auch "Festplatte voll" bedeuten kann. MfG Hitzi |
Moin Hitzi,
auch wenn's jetzt leicht OT wird: Meist werden Schreibvorgänge auf die Festplatte von Windows gepuffert, und erst dann tatsächlich ausgeführt, wenn das OS sich "langweilt". Dieser Vorgang kann auch mal schiefgehen, z.b. bei Hardwareproblemen. Sollte also beim Speichern mal ein Fehler auftreten, kann man's mal mit Speichern unter versuchen. |
Zitat:
So eine Funktion zum Checken des freien Speicherplatzes ist doch sogar in den Borlands Sysutils gekapselt -> GetDiskFreeSpaceEx. Was ist, wenn ich meine Projekte nur auf Diskette speichere. Da kann es schnell mal vorkommen, dass der Platz nicht ausreicht. Oder greift in dem Fall eine Prüfroutine? In der Art: If Speichern auf Diskette then Prüfung an Else Prüfung aus Wäre nicht ok ... werd's aber mal in einer freien Minute testen. Naja - eben mal wieder was dazu gelernt. :) MfG Hitzi |
Moin Hitzi,
Zitat:
Wenn der Platz nicht reicht erfährst Du das auch immer erst, später. Windows prüft es nicht vorher. Ich versuche bei Speicherroutinen zwar auch das vorherzu prüfen, aber es ist doch manchmal etwas aufwendig. Wenn Du z.b. mit GetDiskFreeSpaceEx feststellt, dass Du noch 2000 Byte freihast, und zu speichernde Datei 1000 Byte gross ist, könnte man auf die Idee kommen, das der Platz reicht. Ist jetzt aber die Clustergrösse auf 4096 eingestellt (Standard unter W2K) so wird der Platz nicht reichen, da mindestens 4096 Byte belegt werden. Das muss dann also auch noch berücksichtigt werden. |
Re: Delphi + Festplatte voll = Stream Fehler (Tipp)
wie kann man den die clustergrösse ermitteln ?
mir war so als wenn die im boot sektor steht richtig ??? |
Re: Delphi + Festplatte voll = Stream Fehler (Tipp)
Dafür zu empfehlen: Norton System Doctor glaub ich. Das ist dieses Tool von SystemWorks was unten rechts in der Ecke ist. Mit der Ampel. Der sagt bescheid wenn die Festplatte voll ist (Einstellung)
|
Re: Delphi + Festplatte voll = Stream Fehler (Tipp)
???
Zitat:
|
Re: Delphi + Festplatte voll = Stream Fehler (Tipp)
Moin wb,
das sollte mit der Funktion GetDiskFreeSpace funktionieren. Hierbei ist allerdings darauf zu achten, dass man nur die Daten BytesPerSector und SectorsPerCluster verwenden darf, ausser man hat eine Platte < 2GB. Bei grösseren stimmen die Clusterangaben nicht notwendiger Weise. Bei meiner letzten Aussage in diesem Thread hatte ich übrigens einen dummen Fehler eingebaut. :oops: Da der Platz ja immer Clusterweise belegt wird, wird man nie einen Wert < Clustergrösse erhalten können. |
Re: Delphi + Festplatte voll = Stream Fehler (Tipp)
Mein Beitrag war auf das Hauptthema bezogen. Das er speichern wollte und die Platte voll war
|
Re: Delphi + Festplatte voll = Stream Fehler (Tipp)
Hallo,
ich wollte doch nocheinmal darauf hinweisen, daß es für ein Anwendungsprogramm, in einem premeptiven Multitaskingbetriebssystem mit Datenkomprimierung, im Netzwerk mit eventuellen netzwerkfreigaben etc prizipiell unmöglich ist, vorherzusagen, ob ein vorhanderner Speicherplatz zum Speichern der eigenen Daten ausreicht. Es weiß ja nicht was andere Programme oder das Betriebssystem in der Zwischenzeit tun, und wegen der Komprimierung weiß es ja noch nicht einmal, wieviel Platz die Daten nach der Speicherung brauchen werden. Oder kann mir jemand erklären, wie das funktionieren soll. Die Situation ist hier einfach mit einem DOS-System nicht vergleichbar. Grüße Wolki |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:03 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-2025 by Thomas Breitkreuz