• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MDIアプリケーションで外部のソフトウェアを起動する際の問題)

MDIアプリケーションで外部のソフトウェアを起動する際の問題

このQ&Aのポイント
  • MDIアプリケーションを開発中に起動問題が発生しました。VisualBasic2008Expressで開発しており、別のMDIアプリケーションを開発中ですが、別のアプリケーションを起動する方法について問題があります。現在の方法では起動したいプログラムのアセンブリは格納できますが、実行ファイルのメインフォームのクラス名を指定するとエラーが発生します。
  • アセンブリを格納できるが、メインフォームのクラス名を指定するとエラーが発生するため、別の方法を探しています。何か勘違いをしている可能性があるか、別の方法を知っている方がいればアドバイスをいただきたいです。
  • MDIアプリケーションを開発中に、別のアプリケーションを起動する方法に問題があります。現在の方法ではプログラムのアセンブリは格納できますが、メインフォームのクラス名を指定するとエラーが発生します。別の方法を知っている方がいれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

Dim childFrm As Form = ass.CreateInstance("起動したい実行ファイルのメインフォームのクラス名") ここで、クラス名だけでなく名前空間から指定しますか? 試してみたところ、存在しないクラスを指定した場合にNothingが返されました。 VBはコードで名前空間「Namespace」を指定しなくても、プロジェクトのルート名前空間が効いています。ルート名前空間が「App1」、フォームのクラス名が「Form1」の場合 App1.Form1 が指定すべき値になります。 確認してみてください。

negi0810
質問者

お礼

なるほど! ご指摘いただいた方法で試してみたところ、問題なく解決することができました。 クラスだけでなくルート名前空間も指定しないといけないとは勉強になりました。 ありがとうございました