2.13.5 通信は常にオーナー・フォームとメンバー・フォームの間で発生する
2つのフォームで情報を交換するには、1つのフォームがオーナー・フォームでなくてはならず、もう1つのフォームはオーナー・フォームに含まれる他のフォームのインスタンス、つまりメンバー・フォームでなくてはなりません。したがって、以下のようになります。
- FRMDETAILは独立して実行できますが、この場合、WRKEMPとは通信できません。情報を交換できるフォームでは、オーナー・フォームを実行してからそのメンバー・フォームを呼び出す必要があります。
- WRKEMPに別のフォームが含まれている場合、FRMDETAILSフォームがこのフォームと直接通信することはできません。もちろん、WRKEMPから通信できます。
- アプリケーションのオーナー・フォームに含まれるフォームは、他のフォームのオーナーになることができます。例えば、FRMDETAILは、Print Detailsフォームのオーナーになることができます。FRMDETAILは、Print Detailsフォームと通信できますが、WRKEMPはできません。
- メンバー・フォームを表示する前に、実行時のFORMOWNERプロパティを使用してオーナー・フォームを常に明示で設定することをお勧めします。
SET COM(#frmdetail) formowner(#com_owner)