FMX.Styles.Objects.TBitmapLink.Assign

提供: Appmethod Libraries
移動先: 案内検索

Object Pascal

procedure Assign(Source: TPersistent); override;

C++

virtual void __fastcall Assign(System::Classes::TPersistent* Source);

プロパティ

種類 可視性 ソース ユニット
procedure
function
public
FMX.Styles.Objects.pas
FMX.Styles.Objects.hpp
FMX.Styles.Objects TBitmapLink

説明

別の同種オブジェクトの内容をコピーします。

FMX.Styles.Objects.TBitmapLink.Assign は System.Classes.TPersistent.Assign を継承しています。以下の内容はすべて System.Classes.TPersistent.Assign を参照しています。

別の同種オブジェクトの内容をコピーします。

Assign は、指定された <Source> オブジェクトのプロパティなどの属性を現在のオブジェクトにコピーします。Assign の標準的な呼び出し形式は次のとおりです。

Destination.Assign(Source); {Delphi の場合}
Destination->Assign(Source); // C++ の場合

これは、<Source> オブジェクトの内容を自分自身にコピーするように現在のオブジェクトに命令しています。

大半のオブジェクトでは、同種のオブジェクトからのプロパティの割り当てを処理するように Assign をオーバーライドします。Assign をオーバーライドする際は、<Source> パラメータで示されるクラスからのプロパティの割り当てをコピー先のオブジェクトで処理できなければ、継承したメソッドを呼び出します。

<Source> からのプロパティの割り当てを処理できるオーバーライドされた Assign メソッドがない場合、TPersistent に実装されているメソッドからコピー元オブジェクトの AssignTo メソッドが呼び出されます。これにより、コピー元オブジェクトで割り当てを処理できます。<Source> オブジェクトが nil(Object Pascal の場合)または NULL(C++ の場合)、AssignEConvertError 例外が発生します。

一般に、次のステートメントは

Destination := Source; {Delphi の場合}
Destination = Source; // C++ の場合

次のステートメントと同じではありません。

Destination.Assign(Source); {Delphi の場合}
Destination->Assign(Source); // C++ の場合

代入演算子の場合は、Destination が <Source> と同じオブジェクトを参照するのに対して、Assign メソッドの場合は、Source で参照されるオブジェクトの内容が Destination で参照されるオブジェクトにコピーされます。

メモ: オブジェクト型のプロパティもいくつかあります。これらのプロパティに、Assign を使用してプロパティの値を設定するメソッドがあれば、上記の場合、代入演算子の働きは Assign メソッドと同じになります。

関連項目