![]() |
Fehlermeldung für TFileStream ändern
Gutem Morgen
Hatte ja gestern ein Problem wegen dem Exclusiven öffenen einer Datei. Das funktioniert soweit sehr gut nur wollte ich die Fehlermeldung die mir die Funktion bringt ändern. Es kommt ja sowas wie: Die Datei C:\\Benutzer\Ordner\Ordner\Ordner\Test.txt wird von einem anderen Prozess bla bla bla Ich würde gerne eine kürzere Meldung bringen mit Showmessage, hab es schon mit try except versucht aber irgendwie will das net so
Delphi-Quellcode:
Was mach ich da jetzt fals oder wie kann ich die Meldung abfangen.
procedure TForm7.GridLaden;
var x, y, row, col,len :Word; buff :string; begin if FExclusiveStream <> nil then FreeAndNil(FExclusiveStream); try FExclusiveStream:= TFileStream.Create(FileListbox1.FileName, fmShareExclusive); except Showmessage('Datei wird von einem andrern Benutzer bearbeite'); end; FExclusiveStream.Read(row, SizeOf(Word)); FExclusiveStream.Read(col, SizeOf(Word)); for x:= 0 to row do for y:= 0 to col do begin FExclusiveStream.Read(len, SizeOf(Word)); SetLength(buff, len); FExclusiveStream.Read(buff[1], len); StringGrid1.Cells[y,x]:= buff; end; end; Wenn ich es so wie oben mache bekomm ich einen Fehler nach dem die Meldung abgefangen wurde |
Re: Fehlermeldung für TFileStream ändern
Innerhalb der IDE?
|
Re: Fehlermeldung für TFileStream ändern
Hallo Sascha,
versuche es mal so:
Delphi-Quellcode:
Wenn Du die Exception noch besser spezifizieren kannst:
if FExclusiveStream <> nil then
FreeAndNil(FExclusiveStream); try FExclusiveStream:= TFileStream.Create(FileListbox1.FileName, fmShareExclusive); except on exception do Showmessage('Datei wird von einem anderen Benutzer bearbeitet'); end; FExclusiveStream.Read(row, SizeOf(Word)); FExclusiveStream.Read(col, SizeOf(Word));
Delphi-Quellcode:
Grüße
if FExclusiveStream <> nil then
FreeAndNil(FExclusiveStream); try FExclusiveStream:= TFileStream.Create(FileListbox1.FileName, fmShareExclusive); except on E: .... do Showmessage('Datei wird von einem anderen Benutzer bearbeitet'); end; FExclusiveStream.Read(row, SizeOf(Word)); FExclusiveStream.Read(col, SizeOf(Word)); Klaus [edit] Rechtschreibung verbessert |
Re: Fehlermeldung für TFileStream ändern
Ok Daknegeht mit der Fehlermeldung vom Klaus
Delphi-Quellcode:
Hab es jetzt unten hingeschrieben und dann funktioniert es Danke
procedure TForm7.GridLaden;
var x, y, row, col,len :Word; buff :string; begin if FExclusiveStream <> nil then FreeAndNil(FExclusiveStream); try FExclusiveStream:= TFileStream.Create(FileListbox1.FileName, fmShareExclusive); FExclusiveStream.Read(row, SizeOf(Word)); FExclusiveStream.Read(col, SizeOf(Word)); for x:= 0 to row do for y:= 0 to col do begin FExclusiveStream.Read(len, SizeOf(Word)); SetLength(buff, len); FExclusiveStream.Read(buff[1], len); StringGrid1.Cells[y,x]:= buff; end; except on exception do Showmessage('Datei wird von einem andrern Benutzer bearbeite'); end; end; |
Re: Fehlermeldung für TFileStream ändern
Klar, wenn Du trotz der Exception weitermachst...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:23 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