VBを勉強中です。
段階としては書籍やサイトを参考に既存のプログラムを編集しています。
VB6で作られたプログラムのバージョンアップを行う作業で、VB6→VS2005アップグレード完了後、エラー潰し作業(ここでの意見を参考に)後
デバッグを行う際に、下記の例外エラーが発生しました。
"NullReferenceExceptionはハンドルされませんでした。"
mycombo,mylabelが足を引っ張ってるようなのですが
ヒントに従い、宣言の部分で "New"を付したり、値に"nothing"を付しても
解決には至りませんでした。
アドバイスをお願いします。
宣言の部分は下記です。
Friend Class frmFinder_S1
Inherits System.Windows.Forms.Form
Dim mycombo As System.Windows.Forms.ComboBox
Dim mylabel As System.Windows.Forms.Label
コードは下記の通りです。
Private Sub Option2_CheckedChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Option2.CheckedChanged
If eventSender.Checked Then
'座標変換(OFF)
d_zahyou = 2 '1-座標変換ON/OFFを取得
d_Z_X = 0
d_Z_Y = 0
d_Z_Z = 0
For i = 3 To 5
mycombo = CType(Me.Controls("combo" & i), Object) 'コンボボックスの表示の切替
If mycombo.Enabled = True Then
mycombo.Enabled = False
End If
Next i
For j = 5 To 7
mylabel = CType(Me.Controls("label" & j), Object) 'ラベルの表示の切替
If mylabel.Enabled = True Then
mylabel.Enabled = False
End If
Next j
For n = 9 To 11
mylabel = CType(Me.Controls("label" & n), Object) 'ラベルの表示の切替
If mylabel.Enabled = True Then
mylabel.Enabled = False
End If
Next n
End If
End Sub
No.4ベストアンサー
- 回答日時:
ANo.3です。
…分かったような気が。
mycombo = CType(Me.Controls("combo" & i), Object)
を、
mycombo = CType(Me.Frame2.Controls("combo" & i), ComboBox)
に変更してみてください。
(CTypeの第2引数はObjectでも通るかもしれませんが、せっかくなので
ComboBoxか、それが嫌ならせめてControlとかに変えておきましょう)
要は、Combo3~5は、該当のFormに「直接は」属していなかったって事ですね。
通りました!
インステンス?とMeに原因があるのでは、と
色々と調べていたのですが見当違いでしたね。
ありがとうございました。
直後から早速別問題が発生しましたが
調べて進めていきます!
No.3
- 回答日時:
えーと、念のために根本的な部分の確認なんですが、
combo3~combo5は、デザイナで見て存在する状態ですか?
もしくはコード内でコントロールを生成している場合は、
Me.Controls.Add されていますか?
(確かAddされてなかったら表示すら されなかったとは思いますが…)
この回答への補足
見ていただいてありがとうございます。
combo→Comboと全てを統一しました。
デザイナではFrame2内にCombo3~Combo5は存在します。
designer.vb内に下記のものがありました。
Me.Frame2.Controls.Add(Combo5)
Me.Frame2.Controls.Add(Combo4)
Me.Frame2.Controls.Add(Combo3)
回答になっていますでしょうか?よろしくお願いします。
No.1
- 回答日時:
mycombo = CType(Me.Controls("combo" & i), Object)
↓
mycombo = CType(Me.Controls("combo" & i), ComboBox)
mylabel = CType(Me.Controls("label" & j), Object)
↓
mylabel = CType(Me.Controls("label" & j), Label)
mylabel = CType(Me.Controls("label" & n), Object)
↓
mylabel = CType(Me.Controls("label" & n), Label)
にそれぞれ変更してください。
この回答への補足
それぞれ該当箇所を変更しましたが結果は同じでした。
If mycombo.Enabled = True Then
↑がハイライトされ、
"NullReferenceExceptionはハンドルされませんでした。"
"オブジェクト参照がオブジェクト インスタンスに設定されていません。"
と表示されます。
[詳細の表示]→[data]タグ→[item]の項目に以下のコメントが記されてました。
インデックス付きのプロパティを評価するためには、プロパティが限定されていて、ユーザーにより引数が明示的に指定されていなければなりません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) Visual Basic : ImageListの画像がそろったときにメッセージを表示 1 2023/07/20 13:53
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) 九九の答えの計算 3 2022/12/20 22:13
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
3次元空間上の2つの座標から...
-
マインクラフト(pc版)で座標...
-
C言語 配列で座標
-
【C#】アクションゲームの地...
-
エクセルで回転する座標の出し方
-
直線上にある点の座標の求め方
-
DirectXを使ってテクスチャ(画...
-
始点、終点の二つの座標と半径...
-
Excel VBAでマウス移動&ダブル...
-
線分同士の交点の判定
-
MFC
-
以下のプログラムは重心を求め...
-
ダイアログ内コントロールの位...
-
DirectInputでの現在のマウス座...
-
VB6のPrinter.ScaleWidth に対...
-
追跡のアルゴリズム
-
ワード上Shapeの位置情報を統一...
-
マウス座標からリストボックス...
-
C言語で制作するピラミッドアー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
3次元空間上の2つの座標から...
-
マインクラフト(pc版)で座標...
-
エクセルである点からの距離で...
-
ダイアログ内コントロールの位...
-
始点、終点の二つの座標と半径...
-
エクセルで回転する座標の出し方
-
閉図形の座標の配列が右回りか...
-
C言語 配列で座標
-
ワード上Shapeの位置情報を統一...
-
直線上にある点の座標の求め方
-
画像ファイルに座標が記録され...
-
多角形の内部かどうか判定する方法
-
OpenGLの線の太さ
-
シーケンサー(PLC?)で制...
-
c言語でキーボードから2点の座...
-
以下のプログラムは重心を求め...
-
ピクチャボックスの座標取得
-
交差する2線分の交点座標の求め方
-
直線と傾きのある楕円の交点を...
おすすめ情報