- PR -

Vb2005のPicturebox 初回例外について

1
投稿者投稿内容
ケイ
大ベテラン
会議室デビュー日: 2004/04/20
投稿数: 100
投稿日時: 2008-03-27 16:54
お世話になります。

現在Vb 2005 Pro にてプロジェクト種類をWindous CE 5.0で
デバイスアプリケーションの作成を行っています。

PictureBoxですが、プロパティのImageにbitmapファイルを指定し
実行すると、初回例外エラーが発生してしまいます。

FormのDesignerの下記部分でSystem.Io.FileNotExceptionが発生しています。
Me.PictureBox1.Image = CType(resources.GetObject("PictureBox1.Image"), System.Drawing.Image)

ファイルがないといわれているようですが、パスの指定がどこで
行なわれているのかがわかりません。

実行した際に、画像の表示は行なわれてはいるのですが、
この初回例外の解決方法を教えていただけますでしょうか?

囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2008-03-27 19:46
初回例外が出たとしても、それがユーザーコードまで伝播されていないんですよね?
PictureBox が処理できる例外だと判断したからそうしているのであって、初回例外は気にしなくてよいのでは?
_________________
囚人のジレンマな日々
ケイ
大ベテラン
会議室デビュー日: 2004/04/20
投稿数: 100
投稿日時: 2008-03-28 10:59
返信ありがとうございます。

引用:

囚人さんの書き込み (2008-03-27 19:46) より:
初回例外が出たとしても、それがユーザーコードまで伝播されていないんですよね?



デバック実行時にイミディエイトウインドウで出力されているのみです。

引用:

囚人さんの書き込み (2008-03-27 19:46) より:
PictureBox が処理できる例外だと判断したからそうしているのであって、初回例外は気にしなくてよいのでは?




プロジェクト種類をWindous のWindousアプリケーションで同じように
作成した場合、初回例外の発生はなかったので、
解決すべきエラーなのだという認識でおりました。

同じように作成しようとしたのですが、PictureBoxのImageプロパティを
選択する際にリソースの選択という小画面が出力されましたが、
Windous CE 5.0の作成時はこの選択画面の出力はされませんでした。
エクスプローラーで画像のパスを指定したのみです。

もしかしてそれが原因でしょうか?

解決しておかなくても大丈夫でしょうか?




[ メッセージ編集済み 編集者: ケイ 編集日時 2008-03-28 15:26 ]
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2008-03-31 00:47
ん〜、例外のせいで何か困っていないのなら、解決する必要はないと思いますけど。
スタックトレースは出てるんですよね。どこでエラーが出てるんでしょう?

_________________
囚人のジレンマな日々
ケイ
大ベテラン
会議室デビュー日: 2004/04/20
投稿数: 100
投稿日時: 2008-03-31 11:02
返信ありがとうございます。

引用:

囚人さんの書き込み (2008-03-31 00:47) より:
ん〜、例外のせいで何か困っていないのなら、解決する必要はないと思いますけど。
スタックトレースは出てるんですよね。どこでエラーが出てるんでしょう?



申し訳ありませんが、スタックトレースのとり方がわかりませんでした。
現状は、例外時に中断する項目を全てチェックをつけたうえでフォーム名.Designer.Vbを
Tabで選択している状態でデバックを行なうと

FormのDesignerの下記部分でSystem.Io.FileNotExceptionが発生しています。
Me.PictureBox1.Image = CType(resources.GetObject("PictureBox1.Image"), System.Drawing.Image)

この時の詳細表示の例外のスナップショット
system.Io.FileNotFoundException
|__Message・・・FileNotFoundException
|__StackTraceは下記
場所 System.Reflection.Assembly.InternalGetSatelliteAssembly()
場所 System.Reflection.Assembly.GetSatelliteAssembly()
場所 System.Resources.ResourceManager.InternalGetResourceSet()
場所 System.Resources.ResourceManager.GetObject()
場所 System.Resources.ResourceManager.GetObject()
場所 DeviceApplication1.form1.InitializeComponent()
場所 DeviceApplication1.form1..ctor()
場所 System.Reflection.RuntimeConstructorInfo.InternalInvoke()
場所 System.Reflection.RuntimeConstructorInfo.Invoke()
場所 System.Reflection.ConstructorInfo.Invoke()
場所 System.Activator.CreateInstance()
at MyForms.Create__Instance__()
at MyForms.get_form1()
場所 DeviceApplication1.form1.Main()

で表示されている部分しか取得できなかったのですが、これでよろしかったでしょうか?

1

スキルアップ/キャリアアップ(JOB@IT)