Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
System.AccessViolationException
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30682#CommentId84890
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
ロト君
 (社会人)
投稿日時
2021/12/18 01:03:31
VS19でVB.NETを使ってダイアログを使ってファイルのやり取りをしようとしています。
然しながら、最初はうまく行きますが、違う画面に遷移した後に、再度ダイアログを開こうとすると、エラーになります。
エラー内容
System.AccessViolationException: '保護されているメモリに読み取りまたは書き込み操作を行おうとしました。他のメモリが壊れていることが考えられます。
上記の内容です。
記載してるコードは下記のモノです。
Private Sub btn_img_Click(sender As Object, e As EventArgs) Handles btn_img.Click
'OpenFileDialogクラスのインスタンスを作成
Dim ofd As New OpenFileDialog()
'はじめのファイル名を指定する
'はじめに「ファイル名」で表示される文字列を指定する
ofd.FileName = Nothing
'はじめに表示されるフォルダを指定する
'指定しない(空の文字列)の時は、現在のディレクトリが表示される
ofd.InitialDirectory = Nothing
'[ファイルの種類]に表示される選択肢を指定する
'指定しないとすべてのファイルが表示される
ofd.Filter = "画像ファイル(*.jpg)|*.jpg"
'[ファイルの種類]ではじめに選択されるものを指定する
'2番目の「すべてのファイル」が選択されているようにする
ofd.FilterIndex = 1
'タイトルを設定する
ofd.Title = "開くファイルを選択してください"
'ダイアログボックスを閉じる前に現在のディレクトリを復元するようにする
ofd.RestoreDirectory = True
'存在しないファイルの名前が指定されたとき警告を表示する
'デフォルトでTrueなので指定する必要はない
ofd.CheckFileExists = True
'存在しないパスが指定されたとき警告を表示する
'デフォルトでTrueなので指定する必要はない
ofd.CheckPathExists = True
'ダイアログを表示する
If ofd.ShowDialog = DialogResult.OK Then
'OKボタンがクリックされたとき、選択されたファイル名を表示する
txt_img.Text = ofd.FileName
pic_img.SizeMode = PictureBoxSizeMode.Zoom
pic_img.ImageLocation = ofd.FileName
End If
End Sub
どうしても、自分では解決できません。どなたか、ご教授お願い致します。