- Код: Выделить всё
- Function LoadIniFile(AClose : Boolean = False) : Boolean;
 Var
 FIn, FOut : TFileStream;
 Fzd : TDecompressionStream;
 RSize : Integer;
 Buff : Array[0..5119] Of Byte;
 Begin
 Result := False;
 If Not AClose Then
 Begin
 INIFileName := GetAppConfigDir(False);
 If Not DirectoryExists(INIFileName) And Not CreateDir(INIFileName) Then Exit;
 INIFileName := INIFileName + '\' + ChangeFileExt(ExtractFileName(Application.ExeName), '.INI');
 TmpINIFileName := GetTempFileName;
 If FileExists(INIFileName) Then
 Begin
 FIn := TFileStream.Create(INIFileName, fmOpenRead);
 Fzd := TDecompressionStream.Create(FIn);
 FOut := TFileStream.Create(TmpINIFileName, fmCreate);
 Repeat
 RSize := Fzd.Read(Buff[0], SizeOf(Buff));
 FOut.Write(Buff[0], RSize)
 Until RSize <> SizeOf(Buff);
 FOut.Free;
 Fzd.Free;
 FIn.Free
 End;
 INIFile := TINIFile.Create(TmpINIFileName)
 End;
 Result := True
 End;
В Дельфях эта функция работает без проблем (естественно с учетом особенностей). В Лазарусе при компиляции выдается хинт "Local variable "Buff" does not seem to be initialized". Вопрос следующий: можно ли проигнорировать этот хинт, а если нет, то где и как я должен инициализировать массив?




 В любом случае, всем спасибо за советы
 В любом случае, всем спасибо за советы В данном случае "инициализация" - это первое, по времени, заполнение данными буфера. А если буфер не будет использоваться, зачем его данными заполнять?
 В данном случае "инициализация" - это первое, по времени, заполнение данными буфера. А если буфер не будет использоваться, зачем его данными заполнять?