4D v16 R4から、 オブジェクトの属性に ピクチャーのサポートが 追加されました。例えば、メソッド、フォーム、プロセス間で設定やデータを交換するためにオブジェクトを使用する場合、このオブジェクトでアイコンや画像を渡すことができるようになりました。もう、画像をディスクに一時的に保存する必要はありません。
この新しいタイプは、他のオブジェクトの属性タイプと同様に使用することができ、オブジェクト内で画像を使用、取得、設定することができます。また、ピクチャーテーマのコントロールも使用することができます。
この機能のもう一つの使用例として、あるユーザーと別のユーザーでフィールドの内容が異なることがある「ユーザーフィールド」と 呼ばれるものがあります。例えば、“contact “オブジェクトを作成します。各ユーザーは、「名」「姓」「ID」「住所」「国」「性別」などの情報を保存するかどうかを決めることができます。 また、連絡先の写真を保存することもできます。
オブジェクト属性の扱い
オブジェクト属性に写真を設定するには、次のように書きます。
C_OBJECT($obj)
と記述します。
C_PICTURE ($Picture)
READ PICTURE FILE ("...㊧avatar.jpg";$Picture)
OB SET ($obj; "avatar";$Picture)
picture変数にあるpicture属性を取り出すには、次のように書けばよい。
C_PICTURE($Avatar)
$Avatar :=OB Get($obj; "アバター")
画像の操作
ピクチャー属性は、「ピクチャー」テーマのすべてのコマンドで使うことができます。たとえば
PICTURE TO BLOB(OB Get($obj; "アバター");$blob; "image/jpeg")
ドキュメンテーション
詳しくは、ドキュメントの以下の記事を参照してください。