azsx TStringList резвится?
Кстати... Пересмотрите более внимательно весь ваш код.
Просто из того что вы выложили "напрашиваются" нюансы.
Ваш код:
- Код: Выделить всё
function GetFileSize(FileName: String): Int64;
var
FS: TFileStream;
begin
try
FS := TFileStream.Create(Filename, fmOpenRead);
except
Result := -1;
end;
if Result <> -1 then Result := FS.Size;
FS.Free;
end;
Надо бы сделать так:
- Код: Выделить всё
function GetFileSize(FileName: String): Int64;
var
FS: TFileStream;
begin
Result := -1;
try
try
FS := TFileStream.Create(Filename, fmOpenRead);
Result := FS.Size;
except
///обработка ошибки
finally
FS.Free;
end;
end;
Добавлено спустя 18 минут 20 секунд: при чтении несуществующего файла передает
и каким образом вы тащите несуществующий файл? Т.е. у вас нет проверки перед вышеизложенными функциями?
Добавлено спустя 43 минуты 56 секунд:Хотя: чем вас не устраивает функция FileSizeUtf8() из LazFileUtils?
Тогда будет проще:
- Код: Выделить всё
function TextFileToString(const FName: TFileName): string;
var
St: TStringList;
begin
Result := '';
if (FileSizeUtf8(FName) < {ваш размер}) and (FileExistsUTF8(FName)) then
begin
try
St:= TStringList.Create;
try
St.LoadFromFile(FName);
Result:= St.Text
except
showmessage ('исключение');
Result:= ''; // **************** добавил
end;
finally
St.Free
end;
end;
end;