4D v14.3コンポーネントの開発 |
||
|
4D v14.3
コンポーネントの開発
コンポーネントの開発
コンポーネントは4D データベースの形で構成されるので、コンポーネントの開発はデータベースへの機能実装と同じです。しかしながら、コンポーネントの持つ性質のため、制限や特別なルールがあります。 コンポーネントはプロジェクトメソッド, プロジェクトフォーム, メニューバー, 選択リスト, ライブラリピクチャーなど、4D のほとんどのオブジェクトを呼ぶことができます。 以下のオブジェクトのみ、コンポーネントで使用することはできません:
マトリクスデータベースにこれらの要素が含まれている場合でも、それらを削除する必要はありません。利用できないオブジェクトは単に無視されます。 注: マトリクスデータベースに設定されたユーザー&グループやアクセス権は、ホストデータベースでは無視されます。 コンポーネント側で" 共有" されているプロジェクトメソッドのみがホストデータベースのデザインモードに表示され、選択することができます。他方、ホストデータベース側で" 共有" されているプロジェクトメソッドをコンポーネントから呼ぶことが可能です。詳細はプロジェクト メソッドの共有を参照してください。 コンポーネントから公開されたフォームは、ホストデータベースのサブフォームとして組み込むことが可能です。この点の詳細はフォームの共有を参照してください。 他のコンポーネントオブジェクト (公開されていないプロジェクトフォーム、選択リスト、メニュー等) はコンポーネント内で使用することはできますが、ホストデータベースからストラクチャーオブジェクトとしてアクセスすることはできません。特定のオブジェクトはホストデータベースとコンポーネント間で共有され、その他のオブジェクトは共有されません。詳細は共有及び非共有オブジェクトを参照してください。 コンポーネントは4D アプリケーション又はホストデータベースにインストールされたプラグインを使用することができます。コンポーネントフォルダにプラグインをインストールすることはできません。 マトリクスデータベースのデータベースメソッドや、一般設定 (Web フォルダ, 環境設定, その他) は一切参照されません。 (読み込みのみで開かれるため) ストラクチャーファイルを更新する以下のコマンドをコンポーネントで使用することはできません。コンポーネント中で以下のコマンドを実行すると-10511, "CommandName コマンドをコンポーネントでコールすることはできません" のエラーが生成されます ON EVENT CALL 注:
コンポーネントはマトリクスデータベースのストラクチャーで定義されたテーブルやフィールドを使用することはできません。しかし外部データベースを作成し、そのテーブルやフィールドを必要に応じ利用することはできます。外部データベースの作成と管理はSQLを使用して行います。外部データベースは4Dデータベースで、主たる4Dデータベースからは独立していますが、主たる4Dデータベースから操作が可能です。外部データベースの利用は、一時的にそのデータベースをカレントデータベースにすることです。言い換えれば4Dが実行するSQLクエリのターゲットデータベースを切り替えます。外部データベースの作成はSQLのCREATE DATABASEコマンドを使用します。 外部データベースに関する詳細はエクスターナルデータベースについてを参照してください。 以下のコードはコンポーネントに実装されていて、外部データベースに対して3つの基本的なアクションを行います:
外部データベースの作成: <>MyDatabase:=Get 4D folder+"\MyDB" 外部データベースへのデータ書き込み: $Ptr_1:=$2 // ホストデータベースへのデータアクセスはポインターを通じて行う 外部データベースからデータを読み込み: $Ptr_1:=$2 // ホストデータベースへのデータアクセスはポインターを通じて行う コンポーネントはリソースを使用することができます (" 伝統的な"MacOS リソースやXLIFF タイプのファイル)。 新しいリソース管理の原則に従い (データベースアーキテクチャー参照)、コンポーネントのリソースファイルは、コンポーネントの.4db や.4dc ファイルと同階層のResources フォルダーに置かれなければなりません。コンポーネントが.4dbase 形式の場合 ( 推奨されるアーキテクチャー)、Resources フォルダは .4dbase フォルダーの中に置かれます。 自動メカニズムが有効となり、コンポーネントのResources フォルダー内で見つかったXLIFF ファイルは、 このコンポーネントによってロードされます。( 互換性のため) コンポーネントは、.4db や.4dc と同階層にある.rsr ファイルに格納された" 伝統的な" Mac OS リソースも自動的に使用します。Resources フォルダに置かれた" 伝統的な" リソースファイルはリソーステーマのコマンドを使用して、明示的にコンポーネントにロードしなければなりません。 1 つ以上のコンポーネントを含むホストデータベースでは、ホストデータベースと同様それぞれのコンポーネントが固有のリソースチェーンを持っています。リソースは異なるデータベース間で分離されます。 コンポーネントA のリソースにコンポーネントB やホストデータベースからアクセスすることはできません (共有及び非共有オブジェクト参照)。 コンポーネントにオンラインヘルプを追加できるようにするために、特別なメカニズムが実装されました。原理は4D データベースに提供されているものと同じです (付録 A: カスタムヘルプファイルを割り当てる参照) :
|
プロパティ
プロダクト: 4D ARTICLE USAGE
デザインリファレンス ( 4D v14 R2) |