System.FreeMem
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 例外を発生させません。
関連項目
- System.FreeMemory
- System.Dispose
- System.GetMem
- System.GetMemory
- System.ReallocMem
- System.ReallocMemory