System.FreeMem

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

procedure FreeMem(var P: Pointer; [ Size: Integer]); overload;
procedure FreeMem(var P: Pointer; [ Size: Integer]); overload;

プロパティ

種類 可視性 ソース ユニット
procedure public System.pas System System


説明

FreeMem は、事前に GetMem で割り当てられたメモリ ブロックを解放します。

FreeMem を呼び出した後、P パラメータの値は再定義されます。

FreeMem には、2 つのオーバーロード プロシージャがあります。

2 番目のプロシージャには、任意のパラメータ Size が追加されており、これは廃止予定で、後方互換性のためにのみ使用します。

注意: FreeMem は、C++ では使用できません。代わりに、FreeMemory を使用することができます。
メモ: 割り当てられていないメモリを指すポインタが FreeMem に渡された場合、アプリケーションの動作は、以下のように、主にターゲット プラットフォームによって決まります。
  • Windows プラットフォームの場合、EInvalidPointer はアプリケーションにおいて、System.SysUtils を使用して発生され、System.SysUtils を使用しないアプリケーションに対しては、ランタイムエラーが生成されます。(FastMM、デフォルト メモリ マネージャ、は不正なポインタを検知することができます)。
  • OS X および iOS プラットフォームの場合、FreeMem は不正な ポインタが Dispose に渡された場合、EInvalidPointer 例外を発生させません。

関連項目

コード サンプル