Hi,
meine Leitung is mal wieder zu lange...
Ich hab schon im Forum gesucht, auch Sachen gefunden, aber auf den grünen Zweig bin ich noch nicht gekommen.
Also, ich möchte eine Datei mit einem FileStream auslesen (ich denke das ist schneller, als alles in eine StringList zu schreiben und dann auslesen) und dann in ein RichEdit schreiben. Hier mal meine Procedure:
Delphi-Quellcode:
var
FS: TFileStream;
I: Integer;
Buffer:
String;
begin
if dOpen.Execute
then
begin
if dOpen.Files.Count > 0
then
begin
for I := 0
to dOpen.Files.Count - 1
do
begin
FS := TFileStream.Create(dOpen.Files[I], fmOpenRead + fmShareDenyRead);
//<-- Hier ist eine AV
try
FS.ReadBuffer(Buffer, SizeOf(Buffer));
case GetDoc.FEditor
of
etRichText: GetDoc.RichEdit.SelText := Buffer;
etCode: GetDoc.Code.SelText := Buffer;
end;
finally
FS.Free;
end;
end;
end
else
begin
FS := TFileStream.Create(dOpen.FileName, fmOpenRead + fmShareDenyRead);
//<-- Hier ist eine AV
try
FS.ReadBuffer(Buffer, SizeOf(Buffer));
case GetDoc.FEditor
of
etRichText: GetDoc.RichEdit.SelText := Buffer;
etCode: GetDoc.Code.SelText := Buffer;
end;
finally
FS.Free;
end;
end;
end;
end;
Ich bekomm aber eine Zugriffverletzung, obwohl die Datei 100% nicht in Benutzung ist.
Ich denke ist so ein einfacher Fehler das ich ihn mal wieder nich finde