System.Dispose
Delphi
procedure Dispose(var P: Pointer);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure | public | System.pas | System | System |
説明
動的変数用に割り当てられたメモリを解放します。
Dispose は、System.New を使用して割り当てられた、ポインタ変数のためのメモリ領域を解放します。System.GetMem を使用して領域確保されたポインタは、System.FreeMem を使用してそのメモリ領域を解放します。Dispose または FreeMem の呼び出し後、引数として渡されたポインタの値は未定義になります。
メモ: 割り当てられていないメモリを指すポインタが Dispose に渡された場合、アプリケーションの動作は、以下のように、主にターゲット プラットフォームによって決まります。
- Windows プラットフォームの場合、System.SysUtils を使用しているアプリケーションでは EInvalidPointer が発生し、System.SysUtils を使用していないアプリケーションでは実行時エラーが発生します。 なお、デフォルトのメモリ マネージャ FastMM では無効なポインタを検出できます。
- OS X および iOS プラットフォームの場合、Dispose は、不正なポインタが Dispose に渡されると EInvalidPointer 例外を発生させます。