siteメニューコンテンツへスキップホーム4DVectorworksWordPressその他breakmusicphotosportsHoliday参考資料4Dの親コンポーネントのテーブルとフィールドをポインタで参照する親コンポーネントのテーブルとフィールドをポインタで参照するテーブルに値を保存するような処理をコンポーネント化する場合は、ホストデータベースのテーブルをコンポーネント側で参照するのにポインタを使います。自分のテーブルではないためテーブル名を記述することができないからです。4Dのデザインリファレンスに「ホストデータベースとコンポーネントはポインターを使用して通信を行うことができます。http://doc.4d.com/4Dv16/4D/16.3/Interaction-between-components-and-host-databases.300-3670869.ja.htmlここではホストデータベースのテーブルを「親のテーブル」と呼びます。親のテーブルはポインターで参照します。次のように記述します。これはHBデータベースのIDと名前を配列に取得する例です。ポインタ変数をプロセス変数として宣言、テーブル名とフィールド名のポインタを取得します。(vHBptr;"HB_NAME")次にそれぞれのテーブルから値を取得、プロセス変数の配列に格納しておきます。ARRAY(vHB_NAMEptr->;vAryHB_NAME)このようにして配列にキャッシュしておき、あとでHB_cache_findを使って参照します。($name)HB_cache_findは次のように記述しておきます。hbのキャッシュからファイル名を探して、あればIDを返す。$0:=$hb_idこのようにして親テーブルの値を参照します。保存するときも同じ要領でいけます。次のように記述します。RECORD(vMDptr->)コンポーネントから親テーブルを参照する場合は、上記のような記述をしておけば内部テーブルと同様にデータを保存することができます。