API:Data.DB.TPlatformValueBuffer.Free

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

Delphi

class procedure Free(var Buffer: TValueBuffer); static;

C++

static void __fastcall Free(TValueBuffer &Buffer);

プロパティ

種類 可視性 ソース ユニット
procedure
function
public
Data.DB.pas
Data.DB.hpp
Data.DB TPlatformValueBuffer

説明

オブジェクトを破棄し,必要ならば関連付けられているメモリを解放します。

Data.DB.TPlatformValueBuffer.Free は System.TObject.Free を継承しています。以下の内容はすべて System.TObject.Free を参照しています。

オブジェクトを破棄し,必要ならば関連付けられているメモリを解放します。

Free メソッドを呼び出すと,オブジェクトを破棄できます。Free メソッドは,オブジェクトの参照が nil ではない場合,自動的にデストラクタを呼び出します。実行時にインスタンス化されたオブジェクトは,オーナーを持っていない場合,Free メソッドを呼び出して破棄しなければなりません。結果として,オブジェクトが適切に処理され,メモリが解放されます。Destroy メソッドとは異なり,オブジェクトが nil の場合でも Free メソッドはエラーにはなりません。このため,オブジェクトが初期化されていない場合に Free メソッドを呼び出してもエラーにはなりません。

1 つのコンポーネントで Free メソッドを呼び出すと,そのコンポーネントが所有するすべてのコンポーネント,つまりコンポーネントリスト内のすべてのコンポーネントで Free メソッドが呼び出されます。フォームは設計モードで作成されたすべてのコントロールと非ビジュアルコンポーネントを所有するので,フォームが解放されると,これらすべてのコンポーネントも自動的に解放されます。デフォルトでは,すべてのフォームが Application オブジェクトによって所有されているため,アプリケーションが終了すると,Application オブジェクトが解放され,それによってすべてのフォームが解放されます。コンポーネントでないオブジェクトの場合,または,nil オーナーによって作成されたコンポーネントの場合は,そのオブジェクトを終了したら,必ず Free メソッドを呼び出すようにしてください。そうしないと,アプリケーションが終了するまで,割り当てられてたメモリは使用できません。

警告: コンポーネントのイベントハンドラ内で明示的にコンポーネントを解放したり,コンポーネントが所有するか,またはコンポーネントに含まれているコンポーネントのイベントハンドラからコンポーネントを解放しないようにしてください。たとえば,ボタンの OnClick イベントハンドラでボタンまたはそのボタンを所有するフォームを解放しないでください。

フォームを解放するには,Release メソッドを使用します。Release メソッドは,そのフォームのイベントハンドラと,フォームに含まれているコンポーネントのイベントハンドラが,すべて実行を完了した後で,フォームを破棄し,フォームに割り当てられていたメモリを解放します。

メモ: C++ では,オブジェクトを破棄するのに Free メソッドを使用しないでください。delete キーワードを使用します。

関連項目