@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

ソリューション内のプロジェクト間(EXE)の呼び出しについて

1
投稿者投稿内容
starting-point
会議室デビュー日: 2006/04/20
投稿数: 7
投稿日時: 2009-04-01 15:35
初心者な質問で申し訳ありません。

VB.net 2005を使用しているのですが、
ソリューション内のプロジェクト(EXE)→プロジェクト(DLL)の呼び出しは、参照設定をすることにより、プロジェクト(DLL)内にブレイクポイント付けてデバッグを行っても、そこで止まり、値を参照したりできるのですが、ソリューション内のプロジェクト(EXE)→プロジェクト(EXE)の呼び出し場合は、ブレイクポイントをおいてデバッグはできないのでしょうか?
ソリューション内のプロジェクト間の呼び出しについて、デバッグ方法を教えていただけないでしょうか?

また下記のようなシステムを構築する際は、ソリューション内に各業務(Form)ごとにプロジェクト(EXE)を作成しテイクのが一般的なのでしょうか?
それとも一つのプロジェクトで管理するのが一般的なのでしょうか?

<システム>
ログイン → メニュー → 担当者入力
           → 商品入力
           → 売上入力

よろしくお願いします。

じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2009-04-01 18:43
引用:

starting-pointさんの書き込み (2009-04-01 15:35) より:

ソリューション内のプロジェクト(EXE)→プロジェクト(EXE)の呼び出し場合は、


これは '呼び出し' というよりは 「別プロセスで起動した場合」 ということですよね。 デバッガ上で動いているわけではないのでアタッチさせてあげないと無理でしょう。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
starting-point
会議室デビュー日: 2006/04/20
投稿数: 7
投稿日時: 2009-04-01 19:09
じゃんぬねっと様 回答ありがとうございます。

なるほど、
プロジェクトから、同一ソリューション内のプロジェクトを起動させるのも別プロセスになるんですね。
参照設定で起動するプロジェクトを設定すると、フォーム.Showで起動できるので、てっきり同一プロセスと思っていました。

アタッチさせると教えて頂いたのですが、「アタッチさせる」とはどういった処理なのですか?


あと最初の質問にも書いたのですが、ソリューションの中にプロジェクト(EXE)を作っていくのが一般的なのでしょうか?一つのプロジェクトの中にFormを複数、作っていくのが一般的なのでしょうか?

Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2009-04-01 19:53
引用:
参照設定で起動するプロジェクトを設定すると、フォーム.Showで起動できるので、てっきり同一プロセスと思っていました。


え?だったら、止まりませんか?てっきり Process クラスを使って、別プロセスとして起動しているのだと思いました。
starting-point
会議室デビュー日: 2006/04/20
投稿数: 7
投稿日時: 2009-04-01 20:42
引用:

Jittaさんの書き込み (2009-04-01 19:53) より:
引用:
参照設定で起動するプロジェクトを設定すると、フォーム.Showで起動できるので、てっきり同一プロセスと思っていました。


え?だったら、止まりませんか?てっきり Process クラスを使って、別プロセスとして起動しているのだと思いました。




Jitta様 回答ありがとうございます。
すいません。
デバッグできました。

どうもできなかったのは、Reflectionを使用して起動しいたのですが、元々うまく起動できていなかったようです。
お騒がせしました。そして、すいませんでした。

やっぱり、同じソリューションの中の別々プロジェクトを複数人で、システム開発を行う場合は(1人1プロジェクト)、フォーム.Showの形でするより、Process起動の実装する方がいいのですか?
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2009-04-01 23:19
引用:

starting-pointさんの書き込み (2009-04-01 20:42) より:

やっぱり、同じソリューションの中の別々プロジェクトを複数人で、システム開発を行う場合は(1人1プロジェクト)、フォーム.Showの形でするより、Process起動の実装する方がいいのですか?


 「やっぱり」というのは、どういう思いがあって書いていらっしゃいますか?「Form.Show より Process 起動の方がよい」と考えるのは、なぜでしょう?

 最初の投稿では、システムの最初にログインの処理があると書かれています。この「ログインの処理」は、どのようにするのでしょう?次のメニューや、そこから起動する担当者入力などへ、ログイン情報を引き継がないのでしょうか?引き継ぐのであれば、プロセス起動では、その辺ややこしいですよ?今でも、exe 単体で起動できてしまいますよね?それはかまわないのでしょうか?

 あるいは、そういった、基礎の設計がお座なり(その場その場で適当に処理している)になっていないでしょうか。



 私なら、規模にもよりますが、その他の画面も DLL にして、デバッグ用のログイン プロジェクトを別途作ります。
starting-point
会議室デビュー日: 2006/04/20
投稿数: 7
投稿日時: 2009-04-02 08:53
Jitta様 回答ありがとうございます。
また、返信が遅くなり申し訳ありませんでした。

「Form.Show より Process 起動の方がよい」と考えたのは、dll作成でなくexeを作成して、そのexeをForm.ShowするかProcess 起動と思っていました。
というよりdllにするというのが思いもしませんでした。

またご指摘どおり今の考えでは、コマンドライン引数でログイン情報(ログインID)を指定すれば、exe単体でも起動できてしまいます。

まだ準備(調査)段階なので、基礎設計をお座なりにならないようにもう一度考えてみます。
色々とありがとうございました。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2009-04-02 18:43
規模が大きいなら、プロセス間通信かなぁ。ログイン処理に資格情報を問い合わせるだろうなぁ。
逆に、資格情報が要らないような(誰でも操作してかまわない)機能であれば、今のままでも構わないかも知れません。

コストや納期という、変更が難しい制約がありますから、その辺とも相談です。
1

スキルアップ/キャリアアップ(JOB@IT)