- - PR -
C#,アプリケーションの起動
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-06-08 13:51
こんにちは。Windows Visual Studio.NET 2003でアプリケーションの開発を行っています。言語はC#です。『ボタンをクリックすると別のアプリケーションを起動する』というプログラムを作って実行したのですが
例外 'System.Data.SqlClient.SqlException'がSample.exeで発生しました。 というMessageが表示され、デバッガを選択してデバッグするかどうか聞かれます。Processクラスのインスタンスを作成してアプリケーションを起動しているのですがうまくいきません。何か解決するためのアドバイスを頂ければと思っています。お願いします m(_ _)m | ||||
|
投稿日時: 2004-06-08 14:43
「うまくいかない」というのが、「System.Data.SqlClient.SqlExceptionがスローされる」にかかるのだろうと思いますが、「Processクラスのインスタンスを作成」と、SqlExceptionが結びつきません。そこのところをつないでください。 #ボタンに対応するアプリケーションへのパスをSQL Serverに格納している? | ||||
|
投稿日時: 2004-06-08 15:01
こんにちは。
メッセージに表示されている、Sample.exe は起動している別のプログラム でしょうか? Sample.exe のソースがあるようであれば、そちらを調べる方がよいかも しれません。(手がかりがあるやも。。。) | ||||
|
投稿日時: 2004-06-08 15:21
Jittaさん、Qooさん、早速の返事ありがとうございますm(_ _)m返事が送れました。えっと、ここで訂正したいのですが、最初のスレで言っていたProcessクラスのインスタンスは作成していませんでした。この例外が発生したのは
Process P = Process.Start(@"C:\フォルダ\Sample\bin\Debug\Sample); というように、アプリケーションを指定して実行した結果先ほど述べた例外が発生しました。説明する内容を勘違いしてしまい申し訳ありませんでした。 Jittaさんが質問されたSQL serverにパスを格納していませんでした。Qooさんからいただいた指摘についてですが、起動したいアプリは全く正常に動くんですよ(汗) | ||||
|
投稿日時: 2004-06-08 15:46
Process P = Process.Start(アプリケーションパス); の行で、System.Data.SqlClient.SqlExceptionが発生しているのですか?Process.Start(String)メソッドで発生する例外は、MSDNによると、"ArgumentException"、"Win32Exception"、"ObjectDisposedException"で、"SqlException"は入っていないのですが。もちろん、書いてある以上の例外が発生しえるのですが、それでもSqlExceptionが発生する要因を思いつきません。いったい、どういう処理をしようとして、SqlExceptionが発生しているのでしょう?また、メッセージの中にもっと詳しい説明があったはずです。それらも転記してください。 | ||||
|
投稿日時: 2004-06-08 16:12
Jittaさん、ご返答ありがとうございます。確かにこの例外は発生しないみたいですね。でてくるMessageはボタンをクリック後、
-------------------------------------------------------------------------------- Just In Timeデバッグ -------------------------------------------------------------------------------- 例外 'System.Data.SqlClient.SqlException'がSample.exeで発生しました。 可能なデバッガ ----------------------------------------------- | 新しいインスタンス Microsoft CLR Debagger 2003 | | 新しいインスタンス Visual Studio .NET 2003 | ----------------------------------------------- 選択したデバッガを使用してデバッグしますか? はい / いいえ -------------------------------------------------------------------------------- 表示されたMessageは以上です。ここで「はい」と答えると、パスで指定したアプリケーションをデバッグします。このときに例外が発生していました。Fillをかけているところで例外が発生しているんですが、Visual Studio .NET 2003を起動して、プロジェクトから開き、そのプログラムをデバッグしても正常に動きました。どうしてこのような事が起きたかは分かりませんでした。 | ||||
|
投稿日時: 2004-06-08 17:05
だったら起動はできているじゃないですか 起動できていないなら、Process.Startのあるプログラムが対象になるはずですよね。例外が発生している対象はきっちりと突き止めてくださいね。または、誤解されないように、書き方は気をつけてください。 #困っているのはあなたで、誤解されて困るのもあなたですよね? Sample.exeの方を単独で起動した場合は、この例外が発生しない、ということですか?ソースはあって、コンパイルできるんですね?では、その例外が発生しているFillメソッド近辺をtry-catchで囲み、Exception型でキャッチしてみてください。catchブロックで、Exception.Messageを、メッセージ表示でもさせて、本当の例外メッセージを取得してください。 | ||||
|
投稿日時: 2004-06-08 17:06
こんにちは。
例外の発生する箇所で try 〜 catch を記述したらエラーの詳細がわかるかも。。。 |