オブジェクトにBLOB属性を作成する

Deeplからの自動翻訳

4D環境にクラスが導入されたことで、データをオブジェクト、特にblobに格納する必要性が高まりました。そのため、4D v19 R2では、Blobをオブジェクトにカプセル化することができます。

ストレージの面だけでなく、ブロブオブジェクトは参照型なので、メモリの占有率やスピードなどのパフォーマンスが大幅に改善されます。

数値やテキストなどの型と同じように、オブジェクトの属性としてblobを割り当てることができるようになりました。

$o:=New object("blob";$blob)

または暗黙の変換で指定できます。

$o:=New object
$o .blob:=。$blob

または共有オブジェクトを使用します。

$sObj:=New shared object("blob";$blob)

多くの場合、Blob型ではなく、Blobオブジェクト(4D.Blob型)を使用したほうがよいでしょう。例えば、メソッドやコマンドのパラメータでblobオブジェクトを渡す場合、Blob型のように複製されず、他の4Dオブジェクトと同じように参照渡しされます。これは、より速く、より少ないメモリ消費量です。

var $blobObj :Object

// Download your MIME in a blob object
$blobObj :=IMAP_transporter.getMIMEAsBlob ($msgID )

// The BLOB object is then passed to the AddToArchives method by reference.
AddToArchives ($blobObj)
// Unlike when you pass a Blob type, the blob is not duplicated when handled using a blob object.

しかし、標準のBlob型は非推奨ではありません。それぞれのBlobタイプには利点があります。次の表を使って、どれが自分のニーズに合っているかを判断してください。

Blob 4D.Blob(ブロブ
変更可能 あり 不可
オブジェクトやコレクションで共有可能 不可
参照渡し*。 No
バイトアクセス時の性能 +
最大サイズ 2GB メモリ

*このサイズ制限は、お使いのOSや空き容量によって低くなる場合があります。

この新しい属性タイプの詳細については、ドキュメントをチェックしてください

Blobがオブジェクトで管理されるようになったので、ORDAで管理するためのステップはあと1つだけです。ご期待ください。

Fabrice Mainguené
- Product Owner -Fabrice Mainguenéは、2016年11月に4D Programチームに参加しました。プロダクトオーナーとして、彼はユーザーストーリーを書き、それを機能仕様に変換する役割を担っています。CNAMでコンピュータサイエンスの学士号を取得した後、FabriceはWindev開発者として小さなソフトウェア出版社に入社しました。その後、彼は産業および貿易分野のさまざまな企業で、Windev および Web 開発者として、また新機能の技術アドバイザーとして働きました。