DOBON.NET DOBON.NETプログラミング掲示板過去ログ

「オブジェクト参照がオブジェクト インスタンスに設定されていません。」

環境/言語:[C#2003]
分類:[.NET]



お世話になっております。

デザイナでフォームを開こうとすると
「オブジェクト参照がオブジェクト インスタンスに設定されていません。」
というエラーで開けなくて困っております。

原因が分からない為、抽象的な質問になってしまいましたが、
このような現象に心あたりのある方がいらっしゃいましたら
ご教授ください。

以上 宜しくお願いします。
エクスプローラからそのファイル(.cs)をとりあえずバックアップしておいてから、Visual Studioでそのファイル(.cs)を開き、怪しそうなところを削っていくしか無いでしょう? ところで、エラー行の位置とかは表示されていないんですか? されていれば、それと関係のあるところをとりあえず削ってみるしかないかな?
>ところで、エラー行の位置とかは表示されていないんですか? されていれば、それと関係のあるところをとりあえず削ってみるしかないかな?

エラー行は1行目で、タスクをクリックすると
namespaceの宣言部の1行目にジャンプします。

設定とかが悪いのかとおもうのですが・・・

nameSpaceを削っても、同じエラーメッセージが出てしまいます。
■No16691に返信(いちろうさんの記事)
> エラー行は1行目で、タスクをクリックすると
> namespaceの宣言部の1行目にジャンプします。
> 設定とかが悪いのかとおもうのですが・・・

いや、設定が悪いわけではないと思います。
次のどれかに該当するものはございますか?

 1. System.Windows.Forms.Form 以外の自作の Form から継承した Form を使用している。
 2. カスタム コントロール (ユーザーコントロール | 継承コントロール) を使用している。
 3. サードパーティの製品 (SPREAD や FlexGrid) などを使用している。

とりあえず、情報^H況収集からスタートですね...
> 次のどれかに該当するものはございますか?
>
>  1. System.Windows.Forms.Form 以外の自作の Form から継承した Form を使用している。
>  2. カスタム コントロール (ユーザーコントロール | 継承コントロール) を使用している。

以上の2つに該当しています。

いくつかフォームがあるのですが、同じようなソースを書いたにもかかわらず
正常に開けるフォームと開けないフォームがあるのですが・・・
■No16695に返信(いちろうさんの記事)
> いくつかフォームがあるのですが、同じようなソースを書いたにもかかわらず
> 正常に開けるフォームと開けないフォームがあるのですが・・・

まあ、そういうこともあります。(経験者)

とりあえず、一旦 Visual Studio を終了し、再度プロジェクトを開き、
クリーンビルドした後、もう 1 度、プロジェクトを開き直してみてください。
ビルドし直してみましたが、やはり状況は変わらずです。

> とりあえず、一旦 Visual Studio を終了し、再度プロジェクトを開き、
> クリーンビルドした後、もう 1 度、プロジェクトを開き直してみてください。

ところで、クリーンビルドとは普通のビルドとは違うものですか?

ビルドメニューに"ソリューションのビルド"と"WINDOWSアプリケーション"の
2つがあったので2つともやってみました。

初歩的な質問で申し訳ありません。
■No16697に返信(いちろうさんの記事)
> ビルドメニューに"ソリューションのビルド"と"WINDOWSアプリケーション"の
> 2つがあったので2つともやってみました。
> ビルドし直してみましたが、やはり状況は変わらずです。
> ところで、クリーンビルドとは普通のビルドとは違うものですか?

Bin に出来上がったアセンブリ (*.exe | *.dll) をすべて削除してから、リビルドです。

これでも直らない場合は、実装上の問題であることが殆どです。
特定のプロジェクトでしか起きないのであれば、Form のコンストラクタの終わりまでを追ってみてください。
>> 1. System.Windows.Forms.Form 以外の自作の Form から継承した Form を使用している。

例のAbstractなFormを異なるアセンブリから継承した場合にデザイナで表示できないってやつかな?
■No16710に返信(まどかさんの記事)
> >> 1. System.Windows.Forms.Form 以外の自作の Form から継承した Form を使用している。
>
> 例のAbstractなFormを異なるアセンブリから継承した場合にデザイナで表示できないってやつかな?

何か良い解決法をご存知ですか?
■No16713に返信(いちろうさんの記事)
> 何か良い解決法をご存知ですか?

いやいや、順序が違う。
そもそも該当するのかどうかを答えましょうよ。
■No16715に返信(はいこーんさんの記事)
> ■No16713に返信(いちろうさんの記事)
>>何か良い解決法をご存知ですか?
>
> いやいや、順序が違う。
> そもそも該当するのかどうかを答えましょうよ。

失礼しました。
その通りですね。

自作Formから継承したFormが表示されないのですが
AbstractなFormを継承しているわけではありません。

解決策が見つからず、焦っていたものですから
失礼な返事を書き込んでしまい申し訳ありませんでした。
>>例のAbstractなFormを異なるアセンブリから継承した場合にデザイナで表示できないってやつかな?
>
> 何か良い解決法をご存知ですか?

これに関しては、残念ながら仕様です。
回避策はAbstractをやめることだけ。
■No16725に返信(まどかさんの記事)
> >>例のAbstractなFormを異なるアセンブリから継承した場合にデザイナで表示できないってやつかな?
>>
>>何か良い解決法をご存知ですか?
>
> これに関しては、残念ながら仕様です。
> 回避策はAbstractをやめることだけ。

わかりました。
参考にさせて頂きます。
ありがとうございました。

DOBON.NET | プログラミング道 | プログラミング掲示板