投稿者 魔界の仮面弁士  (社会人) 投稿日時 2009/11/17 05:38:51
Object を New しておく必要はありません。単純に
Dim UsrCon As Object

Private Sub Form1_Load(ByVal sender As ObjectByVal e As EventArgs) Handles Me.Load
    UsrCon = コン1
End Sub
 で OK です。

パル36さんが失敗したのは、恐らく
Dim UsrCon As Object  = コン1

Private Sub Form1_Load(ByVal sender As ObjectByVal e As EventArgs) Handles Me.Load
End Sub
 のように、Sub~End Sub 等の外側で初期値を指定していたからでしょう。

そのように記述してしまうと、NullRefereceException の警告が発生してしまい、
『オブジェクト変数または With ブロック変数が設定されていません。』という
エラーになってしまいます。

これはフォームが起動直後においては、コントロール変数「コン1」の中身はまだ生成されておらず、
空っぽ(Nothing)の状態にあるからです。
今回のように、Load イベントなどで設定するようにすれば、コントロールの生成が完了しているため、
このような問題はおきません。