質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

3回答

3641閲覧

VS Community

TaruOrder

総合スコア76

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

1クリップ

投稿2015/12/01 08:40

編集2015/12/01 08:50

VB.NETの開発でVS Communityを使っています。
slnソリューションファイル?を立ち上げてからデバッグをすると普通にエラーなく通るのですが、

フォルダ内の'デバッグ リリース'フォルダから exeで起動するとエラーがでてしまいます。
このような場合はどすればよいのでしょうか??

--追加
エラー内容
アプリケーションのコンポーネントで、ハンドルされない例外が発生しました。
[続行]をクリックすると、アプリケーションはこのエラーを無視し、続行しようとします。
[終了]をクリックすると、アプリケーションは直ちに終了します。

オブジェクト参照がオブジェクトインスタンスに設定されていません。
[詳細]
Just-In-Time (JIT) デバッグを呼び出すための詳細については、
ダイアログ ボックスではなく、このメッセージの最後を参照してください。

************** 例外テキスト **************
System.NullReferenceException: オブジェクト参照がオブジェクト インスタンスに設定されていません。
場所 ラクスル.Form1.Button2_Click(Object sender, EventArgs e) 場所 E:\ラクスル\ラクスル\Form1.vb:行 31
場所 System.Windows.Forms.Control.OnClick(EventArgs e)
場所 System.Windows.Forms.Button.OnClick(EventArgs e)
場所 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
場所 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
場所 System.Windows.Forms.Control.WndProc(Message& m)
場所 System.Windows.Forms.ButtonBase.WndProc(Message& m)
場所 System.Windows.Forms.Button.WndProc(Message& m)
場所 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** 読み込まれたアセンブリ **************
mscorlib
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.6.100.0 built by: NETFXREL2STAGE
コードベース:file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll

ラクスル
アセンブリ バージョン:1.0.0.0
Win32 バージョン:1.0.0.0
コードベース:file:///E:/%E3%83%A9%E3%82%AF%E3%82%B9%E3%83%AB/%E3%83%A9%E3%82%AF%E3%82%B9%E3%83%AB/bin/Debug/%E3%83%A9%E3%82%AF%E3%82%B9%E3%83%AB.exe

Microsoft.VisualBasic
アセンブリ バージョン:10.0.0.0
Win32 バージョン:14.6.81.0 built by: NETFXREL2
コードベース:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll

System
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.6.81.0 built by: NETFXREL2
コードベース:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll

System.Core
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.6.81.0 built by: NETFXREL2
コードベース:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll

System.Windows.Forms
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.6.81.0 built by: NETFXREL2
コードベース:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

System.Drawing
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.6.91.0 built by: NETFXREL2STAGE
コードベース:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

System.Configuration
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.6.81.0 built by: NETFXREL2
コードベース:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

System.Xml
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.6.81.0 built by: NETFXREL2
コードベース:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

System.Runtime.Remoting
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.6.81.0 built by: NETFXREL2
コードベース:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll

mscorlib.resources
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.6.81.0 built by: NETFXREL2
コードベース:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_ja_b77a5c561934e089/mscorlib.resources.dll

Microsoft.mshtml
アセンブリ バージョン:7.0.3300.0
Win32 バージョン:7.0.3300.0
コードベース:file:///C:/Windows/assembly/GAC/Microsoft.mshtml/7.0.3300.0__b03f5f7f11d50a3a/Microsoft.mshtml.dll

System.Windows.Forms.resources
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.6.81.0 built by: NETFXREL2
コードベース:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_ja_b77a5c561934e089/System.Windows.Forms.resources.dll

************** JIT デバッグ **************
Just-In-Time (JIT) デバッグを有効にするには、このアプリケーション、
またはコンピューター (machine.config) の構成ファイルの jitDebugging
値を system.windows.forms セクションで設定しなければなりません。
アプリケーションはまた、デバッグを有効にしてコンパイルされなければ
なりません。

例:

<configuration> <system.windows.forms jitDebugging="true" /> </configuration>

JIT デバッグが有効なときは、このダイアログ ボックスで処理するよりも、
ハンドルされていない例外はすべてコンピューターに登録された
JIT デバッガーに設定されなければなりません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Tak1wa

2015/12/01 08:44

エラーの内容を追加してください。
TaruOrder

2015/12/01 08:50

修正の依頼ありがとうございます! エラー内容を書かせていただきました!
guest

回答3

0

31行目がどこかわからないのでエスパーすると、
Dim htmlDoc As HtmlDocument = WebBrowser1.Document
これ、WebBrowser1で中身の読み込みが完了していないタイミングだとNULLで返って来たはずなので、
htmlDoc.GetElementsByTagName("TABLE")をしてもNULL参照だからプロパティもメソッドもないよって例外エラーのような気がします

DocumentCompletedイベントハンドラを使うなどして読み込み完了かどうかの確認をしたほうが良いのでは?

なお、他の処理もわかりませんし31行目がどこかわからない為見当外れの指摘である可能性があります

追記:質問のタグがVisualStudioとなっていますが、これってVB.NETの質問ですよね?
VBを長らく触っていない僕よりもよく触っている人の意見があった方が良いのではありませんか?
タグは複数付けることができますので関係ありそうなタグは付けておきましょう

投稿2015/12/01 11:19

編集2015/12/01 11:22
len_souko

総合スコア1348

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TaruOrder

2015/12/02 00:35

解答ありがとうございます! 31行目は、上から数えて2番目にTry Catchでした! DocmentCompletedイベントハンドラを使ってみます! タグのことまで教えていただきありがとうございます!!!!
len_souko

2015/12/02 13:27

一つ目が通っているのであれば、Convt_Type()が悪さをしているのかも? 軽く検索したけれど拾えない例外もあるらしい とはいえ、webブラウザコントロールだから裏でなんか動いててその影響で例外が起きているのかもしれないし、断言は難しいかな・・・ 単純に一つ目を拾うタイミングはブラウザコントロールが読み込むほうが早かったけど、二つ目のところはまだかもしれないし(JSでコントロールを作り出していてサーバーから情報を取得中だとか色々可能性はある) なのでブラウザコントロールで取得しているwebページのID=pidのinputがどういうものなのか、Convt_Type関数が何をしているのかどんな例外が起きそうなのかその辺を確認しないと何ともわからない
guest

0

エスパーすると、WebBrowser1.Document がNULLなんじゃないですかね。
原因はカレントディレクトリの違いかなんかじゃないかと。
IDEから、起動するとカレントディレクトリは、プロジェクトのトップディレクトリになります。
EXEを起動するとカレントディレクトリは、EXEのある場所になります。
ファイルを読み込んだりする場合は、ちゃんとフルパスで指定するか、プログラム自身が、EXEのある場所を
取得して、そこからの相対パスで読むようにしないと、ちゃんと動かないですよ。

投稿2015/12/01 23:19

katsumiy

総合スコア479

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TaruOrder

2015/12/02 00:33

解答ありがとうございます! やっぱり読み込めていなかったということなんですかね... いろいろなイベントを調べて工夫してみます!
guest

0

こんにちは。

こういうときは、まずはエラーメッセージの通りであると疑って調べたほうが良いのかな。
Form1.Button2_Clickメソッド(ソースファイル31行目)でNULL参照が起きているようです。
思い当たる点はないですか?

もし、全く見当がつかないようであれば、該当メソッドを掲示してください。

投稿2015/12/01 08:54

Tak1wa

総合スコア4791

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TaruOrder

2015/12/01 08:57

31行目あたりをチェックしました! 31行目あたりの処理にはすべてTryで囲んでいるですがだめなのでしょうか... --処理内容 Dim htmlDoc As HtmlDocument = WebBrowser1.Document Dim Elements As HtmlElementCollection = htmlDoc.GetElementsByTagName("TABLE") ListBox1.Items.Clear() Try If Not htmlDoc.GetElementsByTagName("input")("sid").Equals(Nothing) Then 'サイズ TextBox1.Text = Conv_Size(htmlDoc.GetElementsByTagName("input")("sid").GetAttribute("value")) End If Catch ex As Exception TextBox1.Text = "Empty" End Try Try If Not htmlDoc.GetElementsByTagName("input")("pid").Equals(Nothing) Then '種類 TextBox2.Text = Convt_Type(htmlDoc.GetElementsByTagName("input")("pid").GetAttribute("value")) End If Catch ex As Exception TextBox2.Text = "Empty" End Try Try If Not htmlDoc.GetElementsByTagName("input")("weight").Equals(Nothing) Then '暑さ TextBox3.Text = Convt_AT(htmlDoc.GetElementsByTagName("input")("weight").GetAttribute("value")) End If Catch ex As Exception TextBox3.Text = "Empty" End Try Try If Not htmlDoc.GetElementsByTagName("input")("color").Equals(Nothing) Then '印刷方法 TextBox4.Text = Convt_Output(htmlDoc.GetElementsByTagName("input")("color").GetAttribute("value")) End If Catch ex As Exception TextBox4.Text = "Empty" End Try Try If Not htmlDoc.GetElementsByTagName("input")("option-14").Equals(Nothing) Then '加工 TextBox5.Text = Convt_Kakou(htmlDoc.GetElementsByTagName("input")("option-14").GetAttribute("value")) End If Catch ex As Exception TextBox5.Text = "Empty" End Try Dim TD_Doc As HtmlElementCollection = Elements.Item(0).Document.GetElementsByTagName("TD") For i = 0 To TD_Doc.Count - 1 If String.IsNullOrEmpty(TD_Doc.Item(i).InnerText) Then ListBox1.Items.Add("") Else ListBox1.Items.Add(TD_Doc.Item(i).InnerText) End If Next Dim Ar2 As New ArrayList For i = 0 To ListBox1.Items.Count - 1 TextBox6.AppendText(i & "番目:" & ListBox1.Items(i).ToString.Replace(Chr(10), "").Replace(Chr(13), "") & vbCrLf) If ListBox1.Items(i).ToString Like "*m*" Or ListBox1.Items(i).ToString Like "*各*" Then Ar2.Add(ListBox1.Items(i).ToString) End If Next For i = 0 To Ar2.Count - 1 ListBox1.Items.Remove(Ar2(i)) Next Dim Column_Count As Integer = InputBox("列数を指定指定してください!") Dim Items As Integer = ListBox1.Items.Count Dim Gyou As Integer = Items / Column_Count Dim Form3 As New プレビュー Dim Grid As DataGridView = Form3.DataGridView1 '列追加 For i = 1 To Column_Count Grid.Columns.Add(i & "COL", i & "COL") Next '行追加 For s = 0 To Gyou Grid.Rows.Add(1) Next Form3.Show() Dim Cl As Integer = 0 Dim Rw As Integer = 0 For ss = 0 To Items - 1 Grid.Rows(Rw).Cells(Cl).Value = ListBox1.Items(ss).ToString '列制御 If Cl = Column_Count - 1 Then Rw += 1 Cl = 0 Else Cl += 1 End If Next
Tak1wa

2015/12/01 09:00

31行目なのか私にはわかりません。
TaruOrder

2015/12/02 00:37

解答ありがとうございます! 上から二番目のTry Catchでした! 説明不足ですみません...
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問