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

説明

FreeMemGetMem で割り当てられていたメモリ ブロックを解放します。


この手続きを使用して GetMem で取得したメモリ ブロックを破棄します。

Size パラメータには、破棄する動的変数のサイズをバイト単位で指定できます。指定した場合、GetMem で指定された変数により割り当てられたバイト数と一致する必要があります。

この手続きを呼び出した後に、P パラメータの値は未定義です。

メモ:

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

関連項目

コード例