![]() |
Daten auf Diskette speichern?
ich habe folgendes Problem ,wenn ich meine Daten auf Diskette schreiben(Speichere) kommt vollgende fehler meldung "EWritError" grund dafür ist das die Disk voll ist!. Nun wie kann ich dieses umgehen oder den Fehler abfangen und den Anwender darauf auf merksam machen
PS: zum speichern verwende ich das Savedialog falls es euch helfen sollte. für jede weitere hilfe wer ich dankbar Gruß Tino |
SaveDialog gibt ja nur den Dateipfad zum Speichern an... Du müsstest vorher überprfüen, wieviel platz auf der Disk is
|
aha und wie könnte ich sowas an stellen?
|
Am Besten vorher mit DiskFree den noch verfügbaren Speicherplatz abfragen!
|
aber wo her weis ich welches Laufwerk der User bei Savedialog gewählt hat?
|
ExtractFileDrive
|
Danke euch ,werd mir das mal in der Delphi Hilfe näher anschauen....wenn ich noch fragen haben sollte meld ich mich wieder!
Gruß Tino |
Genau da habe ich es raus!
|
Delphi-Quellcode:
{I-} // Lese-, Schreibfehlerbehandlung vom Betriebssytem ausschalten
...; // Lesen, schreiben oder ähnliches if IOResult <> 0 then // Fehler ist aufgetreten RaiselastOSError(); // Fehlermeldung vom Betriebssystem ausgeben {$I+} // Lese-, Schreibfehlerbehandlung vom Betriebssytem wieder einschalten |
Weiß nicht mehr seit welcher Delphi- Version es das gibt, aber unter "additional/zusätzlich" gibts ne Komponente, die ApplicationEvents heißt.
In deren Event "OnException" wird dir in der Variable "e" der Fehlertext zurückgegeben. Den kannst du dann auswerten und eine entsprechende Meldung ausgeben, die Standard- Fehlermeldung erscheint dann nicht mehr. |
Zitat:
|
Dem Symbol der Komponente nach zu urteilen sogar schon ab Delphi 3. Vielleicht sogar Delphi 2, aber davon kenn ich die Symbole nich.
|
viele dank das sich hier so zahlreich geschrieben wurde..
hmmm, ich habe jetzt erst mal das stehen
Delphi-Quellcode:
das ist zwar nicht das wo mit ich mein Problem lösen kann ,aber wenigstens kann ich die fehler Meldung abfangen. Mit der Komponente ApplicationEvents hab ich mich noch nicht so richtig beschäftig ,in der Delphi Hilfe steht auch nicht viel drüber drin... im Moment (sehe)habe Ich keine Lösung für mein problem *schnief* ,denn die funktion mit der ich arbeite copiert mehrere Dateien aus ein Verzeichnis und staucht Sie dann zur einer einzigen zusammen(Zlib) ,es geht dabei wegen diesen vergleich mit FreeDisk usw.
try
outfile.CopyFrom(tmpFile, 0); except on EWriteError do raise EWriteError.Create('Es ist ein schreibfehler aufgetreten!'); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:00 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