ホストプロジェクトからのコンポーネントクラスへのアクセス

コンポーネントは、クラスを公開できるようになりました! さらに良いことに、アプリケーションがまだバイナリーモードの場合でも、プロジェクトモードのコンポーネントで作成した独自のクラスを、バイナリーモードのアプリケーションから使用することで、クラスとオブジェクト指向開発の恩恵を受けることができます。

4Dコンポーネントは、メソッドとフォームのセットです。4D v19 R5 では、異なるアプリケーションにインストールできる 1つ以上の機能を提供するクラスのグループでもあります。コードエディターの補完機能やその他のヘルプ機能が更新され、コンポーネントのクラスやメソッドに対応するようになり、よりスムーズなコーディングが可能になりました。

コンポーネントの名前空間

コンポーネントを生成する際に、コンポーネントの設定に名前空間を追加することで、ホストプロジェクトでクラスを使用できるようにすることができます。ホストプロジェクトに公開したくない内部クラスは、名前の前にアンダースコア (“_”) を付けるだけで隠すことができます。

ホストデータベース内の既存クラスとの名前の衝突を避けるために、コンポーネントの名前空間を作成する必要があります。クラスストアを使い、すべてのクラスがこの名前空間を通してアクセスできるようになります:

これを実現するために、ストラクチャー設定ウィンドウに新しいオプションが追加されました。クラスの名前空間を定義し、コンポーネントを使用する際に自動補完を有効にするためのシンタックスファイルを生成するかどうかを決定できます:

blank

通常通り生成したコンポーネントをホストデータベースに配置したら、 このようなコードを書いてクラスを使用することができます:

var $class : cs.myComponent.Class1

$class:=cs.myComponent.Class1.new()

補完とTips

コンパイル時に、コード補完のためのシンタックスファイルを生成するオプションを設定することで、ホストデータベースでの補完機能とにプロトタイプの表示を有効にできます。

このオプションが選択された場合、コンポーネントのクラスとメソッドを使用する際に次の機能を利用できます:

  • コード補完:

blank

  • Tips:

blank

  • コードエディター下部のプロトタイプ表示:

blank

詳細については、ドキュメントをご覧ください。また、4Dフォーラムで遠慮なくフィードバックをお寄せください。

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