delphi.gif (306 バイト) メモリの操作


toach.gif (917 バイト) メモリを確保する手続きと関数

GetMem 動的変数およびそのブロックのアドレスへのポインタを作成します。
AllocMem メモリブロックを割り当て,各バイトをゼロに初期化します。
New 新しい動的変数を作成し,P をその変数のポインタに設定します。
NewStr 文字列をヒープに割り当てます。(下位互換性のための関数)

 

toach.gif (917 バイト) メモリを解放する手続きと関数

FreeMem 指定されたサイズの動的変数を破棄します。
Dispose 動的変数に割り当てられたメモリを解放します。
DisposeStr NewStr によって以前に割り当てられた文字列ポインタを破棄します。

 

例 256バイトのメモリを確保し、0,1,2,...255を書き込む

var
i: Smallint;
p: PByte;
buff: PByte;

begin
buff := PByte(AllocMem(256));
p := buff;
for i:=1 to 256 do
begin
  p^ := Byte(i-1);
  Inc(p);
end;
.....
FreeMem(buff);
end;