したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |

コントロールの配列

1おんだん:2009/08/04(火) 22:04:37
以前私はVB6でプログラムを作成していました。
ところが、仕事の関係でVB2005またはVB2008でプログラムを
作成することになり、VB6とVB2005の違いによって大変戸惑っ
ています。今苦労しているのは、コントロール配列の部分で
あり、悩んでいたら、このページを見つけ、「コントロール
の配列をインデクサで処理する」のプログラムを入力し、デ
バッグすると次のようなエラーメッセージが出ます。
どのように対処していけばよいか、教えてください。よろしく
お願いします。

○エラーメッセージ
アプリケーションのコンポーネントで、ハンドルされていない
例外が発生しました。
文字列"Label1"から型'Integer'へのキャストが有効ではあり
ません。

2igoten:2009/08/05(水) 09:13:11
今日は。
ホームページ上からindexervb.lzhをダウンロードして、解凍し
vb2005とVB2008のexpressエディションでビルド実行してみましたが
問題はありませんでした。
具体的のどの行でエラーが出ますか?

3おんだん:2009/08/05(水) 10:39:59
早速返事をいただきありがとうございます。
再度、実行したところ次のコードの部分でエラーとなりました。
対処方法を教えていただければ幸いです。よろしくお願いします。

Private Function Label(ByVal index As Integer) As Label
この部分 → Return DirectCast(Me.Controls("Label" & index.ToString), Label)
End Function
○エラーメッセージ
System.InvalidCastException' のハンドルされていない例外が
microsoft.visualbasic.dll で発生しました。

追加情報 : 文字列 "Label1" から型 'Integer' へのキャストが
有効ではありません。

4igoten:2009/08/05(水) 10:52:47
おかしいですね、integerにはcastしていませんし、
私の方ではエラーになりません。
もし出来れば、プロジェクト全体か、コードの
部分だけを、lzhの圧縮ファイルにしてメールに
添付されると、私の方で確認できるのですが。

5おんだん:2009/08/05(水) 12:08:55
エラーなく実行できました。心配をおかけして大変申し訳ありません
でした。また、助言ありがとうございました。
できなかった理由は、indexervb.lzhをダウンロードして、Visual Studio
.Net 2003のvbで実行していたことです。
そのため、別のコンピュータにインストールされているVisual Studio 2008で
実行したところ問題なく実行できました。
旧バージョンによって、新バージョンで作成したプログラムを実行すると
おかしくなるのはわかっていたのですが、まさかと思い長時間チャレンジして
いました。初歩的なミスで自分が情けなかったです。
でも、いろいろと勉強になりました。本当に助かりました。
これで理解できましたので、別のプログラムにチャレンジしたいと思います。
これからもいろいろとチャレンジしていきたいと思いますので、今後もよろしく
お願いします。本当にありがとうございました。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板