オブジェクトフィールドをクラスで型指定する
4D 20 R10 では、オブジェクトの型指定が大きく前進し、コードにさらなる信頼性とコントロールを与えます。今後 4D は、値がオブジェクトであるかだけをチェックするのではなく、特定のクラスのインスタンスであるかを検証します。これにより、よりスマートな自動コード補完、インライン検証、より厳しいコンパイルチェックが可能になり、ミスを早期に発見し、より明確で保守性の高いコードを書くことができます。
メリットは変数や関数の結果だけにとどまりません。この機能強化は、データモデルにも適用されます。ストラクチャーエディターのオブジェクトフィールドに、ユーザー定義クラスやネイティブクラス (AI実装用の新しい 4D.Vector など) を型として直接指定できるようになりました。これにより 4D は、オブジェクトの構造を理解し、より信頼性の高い開発を可能にします。
オブジェクトとコレクションの簡単な参照比較
オブジェクトは4DランゲージとQodlyにとって不可欠なものとなりました。
しかし、このタイプの変数を宣言するときは、実際には参照を定義していることになります。では、2つのオブジェクトが実際には1つで、同じ参照を共有しているかどうかを知るにはどうすればいいのでしょうか?
4D 20 R6から、オブジェクト参照の比較はシンプルになりました。それには、= と # 演算子を使うだけです!
このブログ記事では、これらの演算子と、オブジェクトが同じ参照を共有しているかどうかを判断する方法について説明していきます。詳しく見ていきましょう!
更新された Print form & FORM LOAD コマンドを紹介
4D v16 R5 では、DIALOG コマンドが大幅に改良され、オブジェクト型の新しいパラメーター “formData” を渡すことができるようになりました。この新機能が 4Dデベロッパーの皆様に好評であることを聞いて、とても嬉しく思います。
4D v20 では、もう 2つのコマンドがアップグレードされました: Print form と FORM LOAD です! そのメリットは、同じように大きいでしょう。引数として渡されたオブジェクトは、印刷されるフォームや、メモリにロードされるフォームで直接利用することができます。
オブジェクトにBLOB属性を作成する
4D環境にクラスが導入されたことで、データをオブジェクト、特にblobに格納する必要性が高まりました。そのため、4D v19 R2では、Blobをオブジェクトにカプセル化することができます。
ストレージの面だけでなく、ブロブオブジェクトは参照型なので、メモリの占有率やスピードなどのパフォーマンスが大幅に改善されます。
ORDA新4Dタグで簡単ループ
ORDAのエンティティセレクションやコレクションを扱う際に、For each…End for eachループを使用したことがあるかと思います。その使い方は簡単でわかりやすいものです。 SHTMLページで4Dタグとして使用したいですか?あるいは、PROCESS 4D TAGSコマンドで使用したいですか?
4D v19で、それが可能になりました。もっと詳しく知るために、読み進めてください。
オブジェクト・コーナー:簡単な共有とその他のグッドニュース
オブジェクトを共有オブジェクトに入れようとしたときに、「Not supported value type in a shared object」というエラーが何回出たでしょうか?
あなたはどうしましたか?無実のオブジェクトを共有オブジェクトにするために長いコードを書き、おそらくそのすべてのプロパティを繰り返し処理しましたか?
共有オブジェクトをある共有グループから別の共有グループに転送するのはどうでしょうか?
オブジェクトの面白いところは、ハッシュマップ(キー/バリューシステム)として使えることはすでにご存知でしょう。しかし、1行のコードですべてのキーやすべてのバリューを取得するのはどうでしょうか?
4D v18 R3がリリースされ、良いニュースがもたらされましたので、読み進めてください。
以下のコマンドでファイルやフォルダーをZip/Unzipします。
ファイルをやり取りする前(例えばメールなど)に、ファイルを圧縮してサイズを小さくしてから送信することがよくあります。4D v18では、外部のライブラリやツールを使わずに、プログラミングでファイルの圧縮と解凍ができます。ここでは、それを可能にする新しいコマンドを紹介します。
オブジェクトのパワーとドット表記
4D v17 R5では、オブジェクトを操作してファイルやフォルダの属性を取得することがいかに簡単であるかを紹介しました。オブジェクト表記法のおかげで、さらに簡単になりました。このブログでは、ファイルやフォルダを管理するためのユーザーインターフェイスを持つHDIを紹介します。4D の新しい機能ではありませんが、より簡単に、より少ないコード行数で行えるようになりました。
ファイルやフォルダを扱うためのオブジェクト表記法
4D はすでにファイルやフォルダを扱うコマンドを提供していますが、オブジェクト記法のパワーを活用した新しいコマンドはどうでしょうか。
オブジェクトは、多くの 4D 開発者がコードを書く方法を変え、より一般的で、柔軟で、簡単で、高速なものにしました。そして今、この変化の波は、ファイルとフォルダにも及んでいます。このブログでは、ファイルやフォルダの属性を取得するために、オブジェクトを操作することがいかに簡単かを紹介します(複数のコマンドを呼び出して、複数の変数に情報を格納するのではなく)。物事がとても簡単になりますよ
