ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com |
|||||||||||||||||||||||||||||||||||||
|
4D v19
コンポーネントのインストールと互換性
|
インタプリターコンポーネント | コンパイル済みコンポーネント | ||||
Unicode | 非Unicode | Unicode | 非Unicode | ||
インタープリターホストデータベース | Unicode | O | O | O (*) | O (*) |
非Unicode | O | O | O (*) | O (*) | |
コンパイル済みホストデータベース | Unicode | - | - | O | - |
非Unicode | - | - | - | O |
(*) 複数のコンパイル済みコンポーネントがインストールされる場合、それらは同じUnicode モードで動作しなければなりません。
注:
コンポーネント間及びホストデータベースとコンポーネント間の相互作用についてはコンポーネントとホストデータベースの相互作用を参照してください。
Mac OS で開発されたインタープリターコンポーネントをWindows 環境にインストールすること、及びその逆が可能です。他方、コンパイルされたコンポーネントは、コンパイルされたのと同じプラットフォームでのみ利用可能です。両プラットフォームで利用可能
するためには、両プラットフォーム用にコンパイルします。
サーバーデータベースにインストールされたコンポーネントは、プラグインと同様のメカニズムを使用して、自動でクライアントマシンに転送されます。
クライアント/ サーバーモードで、クライアント側のコンポーネントのコピーを更新することはお勧めできません。変更はローカルに保存され、サーバーマシンのコンポーネントは更新されません。
コンポーネントはホストデータベースが開かれるときにロードされます。
ARRAY TEXT($arrComponents_Txt;0)
COMPONENT LIST($arrComponents_Txt)
If(Find in array($arrComponents_Txt;"ComponentA")>0) // コンポーネントAは存在しなくてもよい
EXECUTE METHOD("ComponentAMethod")
End if
コンポーネントは、ホストデータベースを開いたときまたは閉じたときに、自動的に4Dコードを実行することができます。これによって例えば、ホストデータベースに関連する設定やユーザーの状態などを読み出し・保存することができます。
初期化やデータベースを閉じるコードの実行は、 On Host Database Event データベースメソッド を使用して行われます。詳細な情報に関しては、4D Language Reference マニュアル内のこのコマンドの詳細を参照して下さい。
セキュリティ上の理由から、このデータベースメソッドを使用可能にするためには、その実行をホストデータベースで明示的に許可する必要があります。詳細に関しては、 35P "4D components" を参照して下さい。
セキュリティ上の理由から、このデータベースメソッドを実行するためには、ホストデータベースにおいてその実行が明示的に認証されなければなりません。このためには、データベース設定画面の セキュリティページ ページ内の、"コンポーネントの "On Host Database Event" メソッドを実行"のオプションにチェックを入れます:
他の共有オブジェクトと異なり (共有及び非共有オブジェクト参照)、共有プロジェクトメソッドはデータベースに" 物理的に"存在します。つまりコードの実行時に作成されるわけではありません。
ゆえに、コンポーネントの共有プロジェクトメソッドと、ホストデータベースのプロジェクトメソッドが同じ名前を持つと、名前の衝突が発生します。この場合、ホストデータベースのコンテキストでコードが実行されると、ホストデータベースのメソッドが呼び出されます。これはつまり、コンポーネントメソッドをカスタムメソッドで"マスク" して、例えば異なる機能を実装することが可能であることを示しています。
もちろん、コンポーネントの中でコードが実行されている場合は、コンポーネントのメソッドが呼び出されます。
このマスキングは、ホストデータベースのコンパイル時に警告によって通知されます。
注: 2つのコンポーネント間で共有メソッド名に衝突があった場合、ホストデータベースをコンパイルする際にエラーが生成されます。
プロダクト: 4D
テーマ: 4Dコンポーネントの開発とインストール
デザインリファレンス ( 4D v19)