Выделение памяти для файловой битовой переменной

32-хconstructor Create;
16-тиconstructor Init(ASizeMax: Word; Size: word);

AsizeMax  – максимальная длина строки в битах.
Size    - размер промежуточного буфера для чтения (записи) данных из (в) файл.

При размещении битовой строки в public  секции формы (32-х разр. версия) выделение и освобождение памяти рекомендуется осуществлять в момент создания и закрытия формы.

Пример:
Uses {…}, Strbit32;
type
TForm1 = class(TForm)
{…}
public
Str1: TStr_Bit;
end;
{…}
procedure TForm1.FormCreate(Sender: TObject);
begin
Str1 := TStr_Bit.Create;
end;

procedure TForm1.FormDestroy(Sender: TObject)
begin
Str1.Free
end;

Внимание ! При задании размера буфера необходимо, чтобы он позволял разместить не менее одной битовой строки, т.е. - Size >= AsizeMax*8

32-х Var BitStr: TBitFile; {Объявление переменной}
begin
BitStr := TBitFile.Create; {Выделение памяти}
BitStr.Free; {Освобождение памяти}
End;
16-ти Var BitStr: PBitFile; {Объявление переменной}
begin
BitStr := New(PBitFile,Init(38,512)); {Выделение памяти}
Dispose(BitStr,Done); {Освобождение памяти}
End;

Выделение памяти для битовой переменной

32-хconstructor Create;
16-тиconstructor Init (AsizeMax: Word);

AsizeMax  – максимальная длина строки в битах.
32-х Var BitovStr: TStr_Bit; {Объявление переменной}
begin
BitovStr := TStr_Bit.Create; {Выделение памяти}
BitovStr.Free; {Освобождение памяти}
End;
16-ти Var BitovStr: PStr_Bit; {Объявление переменной}
begin
BitovStr := New(PStr_Bit,Init(39)); {Выделение памяти}
Dispose(BitovStr,Done); {Освобождение памяти}
End;