2

特に、目的のサイズを事前設定し、外部ソースからビットマップをフェッチしてから、洗練されたオブジェクト指向の方法でデータを操作したいと考えています

私は何を推測します

  1. TBits はブール値と
  2. 内部ストレージは連続しています。

私はそのような仮定で正しいですか?

4

1 に答える 1

9
  1. 正しい、TBits内部的にビット構造化されているため、ブール値の単純なコレクションではありません。
  2. はい、ストレージは、サイズ (SizeOf(integer) の増分) を運ぶのに十分な大きさの連続したメモリを割り当てることによって処理されます。

内部データ ポインタへのアクセスを取得するには、class helpersを使用できます。

Type
  TBitsHelper = class helper for TBits
    private
      function GetBitsPointer: Pointer;
    public
      property BitsPt: pointer read GetBitsPointer;
  end;

function TBitsHelper.GetBitsPointer: Pointer;
begin
  with Self do Result := FBits;  
end;
于 2012-07-07T14:58:51.210 に答える