複数プロジェクトで共通のインスタンスを作りたい
- 題名: 複数プロジェクトで共通のインスタンスを作りたい
- 著者: MUDO
- 日時: 2004/08/11 14:16:13
- ID: 5533
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: 複数プロジェクトで共通のインスタンスを作りたい
- 著者: MUDO
- 日時: 2004/08/11 14:27:46
- ID: 5534
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: 複数プロジェクトで共通のインスタンスを作りたい
- 著者: SH
- 日時: 2004/08/11 15:10:52
- ID: 5536
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: 複数プロジェクトで共通のインスタンスを作りたい
- 著者: MUDO
- 日時: 2004/08/11 16:13:08
- ID: 5538
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
今、下記のようなプログラムを作ろうとしています。
MainForm
|
+--- SubForm1
|
+--- SubForm2
|
+--- SubForm3
普通にこれが1つのプロジェクト内にあれば問題ありませんが、実はこのフォー
ムは全て別のプロジェクトに分かれており、1つのソリューション内に保存され
ています。上記例ではたった4フォームですが、実際にはかなりのフォーム数が
あり、機能ごとにプロジェクトを分けてそれぞれ別の人間で開発を進めています。
で、今回、全てのフォームで共通に用いるデータが必要となりました。このデー
タを各フォームにて読み書きし共有する必要があるため、このデータを保持する
クラスを作り、MainForm にてインスタンス化しました。
で、下記のような問題に直面しております。
1.MainFormからSubForm1を呼び出しているため、MainForm側でSubForm1を参照
設定に加えているのですが、SubForm1側でMainForm内に作られた共通データ
のクラスのインスタンスを見るため、SubForm1側にてMainFormを参照設定し
ようとすると
MainForm への参照を追加できませんでした。
このプロジェクトを参照として追加すると循環する依存関係を生じます。
とのメッセージが表示され、追加できませんでした。
MainForm のメンバ変数としてクラスのインスタンスを定義しているため、
MainForm の参照設定は必須かと思ったのですが。
2.MainForm から SubForm1、SubForm2 は親子関係であるため、SubForm1 から
MainForm を参照すること自体はむずかしくはありません。ただ、SubForm3
から MainForm を見ようとした場合、直接の親子ではないため SubForm2 を
仲介して参照する必要が生じます。
これがまだ2段階ですからいいのですが、これが3重、4重になると仲介す
るのも問題があると思います。よって、「このアプリケーションのメインと
なるオブジェクト or フォーム」などが取得できるようなものがあればいい
のですが、こんなものは用意されているものでしょうか?
ようは全プロジェクトで共通のインスタンスを参照する手順があればそれで解決
するのですが今ひとつ分かりません。VC++のMFCにある CWinApp クラスのような
ものがあればいいのですが・・・
どなたかお分かりになられるかたがおられますでしょうか?
ご教授のほど、よろしくお願い致します。