アイコン取得でエラー
- 題名: アイコン取得でエラー
- 著者: 疲れた
- 日時: 2005/11/01 16:49:23
- ID: 13569
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: アイコン取得でエラー
- 著者: zt;q
- 日時: 2005/11/01 22:01:37
- ID: 13572
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: アイコン取得でエラー
- 著者: 疲れた
- 日時: 2005/11/01 22:07:20
- ID: 13573
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[5]: アイコン取得でエラー
- 著者: 疲れた
- 日時: 2005/11/02 1:19:03
- ID: 13575
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[6]: アイコン取得でエラー
- 著者: にゃらんた
- 日時: 2005/11/02 11:50:41
- ID: 13577
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[7]: アイコン取得でエラー
- 著者: 疲れた
- 日時: 2005/11/02 23:13:00
- ID: 13588
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
状況は以下の通りです
リストビューでアイコンを取得しているのですが、ファイルの数が少ないうちは
ちゃんと動いていますが、ファイルが800以上とか、タイマーで再表示していると
そのうちにエラーになります
あと、たまにですがメモリが足りないというメッセージも出ます
どうすればいいのでしょう
Listbox側
For Each _li In _form1.ListView1.Items
_li.Remove()
Next
_form1.ImageList1.Dispose()
_form1.ImageList2.Dispose()
:
:
Call _Get_Icon_1(_cur_dir_1 + _file_ary_1(i)._f_name)
_form1.ListView1.Items(i).ImageIndex = i
アイコン取得
Sub _Get_Icon_1(ByVal _icn_tgt As String)
shinfo1 = New SHFileInfo
hSuccess = SHGetFileInfo(_icn_tgt, 0, shinfo1, Marshal.SizeOf(shinfo1), SHGFI_ICON Or SHGFI_SMALLICON)
If hSuccess.Equals(IntPtr.Zero) = False Then
Try
_curIcon = Icon.FromHandle(shinfo1.hIcon)
_form1.ImageList1.Images.Add(_curIcon)
_curIcon.Dispose()
Catch ex As Exception
_form1.ImageList1.Images.Add(SystemIcons.WinLogo)
End Try
Else
_form1.ImageList1.Images.Add(SystemIcons.WinLogo)
End If
shinfo1 = Nothing
エラーメッセージ
System.InvalidOperationException: イメージを ImageList に追加できませんでした。
at System.Windows.Forms.ImageList.AddIconToHandle(Original original, Icon icon)
at System.Windows.Forms.ImageCollection.Add(Original original)
at System.Windows.Forms.ImageCollection.Add(Icon value)
at .Module1._Get_Icon_2(String _icn_tgt)
System.ObjectDisposedException: "Icon" という名前の、破棄されたオブジェクトにアクセスできません。
オブジェクト名 : "Icon" です。
at System.Drawing.Icon.get_Handle()
at System.Windows.Forms.ImageList.AddIconToHandle(Original original, Icon icon)
at System.Windows.Forms.ImageCollection.Add(Original original)
at System.Windows.Forms.ImageCollection.Add(Icon value)
at .Module1._Get_Icon_2(String _icn_tgt)
System.InvalidOperationException: ImageList ハンドルの作成に失敗しました。
at System.Windows.Forms.ImageList.CreateHandle()
at System.Windows.Forms.ImageList.get_Handle()
at System.Windows.Forms.ListView.set_SmallImageList(ImageList value)
at .Module1._Mak_ListView2()