C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[1]: WinAPIのLoadImage関数でDisposeは必要か
(過去ログ 158 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 2 記事 (1 - 2 表示)] <<
0
>>
■91749
/ inTopicNo.1)
WinAPIのLoadImage関数でDisposeは必要か
▼
■
□投稿者/ SsS
(1回)-(2019/07/29(Mon) 22:56:37)
分類:[.NET 全般]
WinAPIのLoadImage関数を使ってカーソルファイルを読み込んだ後、
プログラムを終了する時に、読み込んだデータをDisposeする必要があるのでしょうか?
どこかのwebページにはdisposeが必要だと書かれていました。
ただ、disposeが書かれたページはその一つしか見つかりませんでした。
そもそも、disposeが必要かどうかってどうやって判断すれば良いのでしょうか?
プログラム後にもメモリに残り続けているかどうかって
どうやって判断すれば良いのでしょうか?
引用返信
編集キー/
編集
■91750
/ inTopicNo.2)
Re[1]: WinAPIのLoadImage関数でDisposeは必要か
▲
▼
■
□投稿者/ とっちゃん
(611回)-(2019/07/30(Tue) 00:17:38)
■
No91749
(SsS さん) に返信
> WinAPIのLoadImage関数を使ってカーソルファイルを読み込んだ後、
> プログラムを終了する時に、読み込んだデータをDisposeする必要があるのでしょうか?
>
> どこかのwebページにはdisposeが必要だと書かれていました。
>
> ただ、disposeが書かれたページはその一つしか見つかりませんでした。
>
> そもそも、disposeが必要かどうかってどうやって判断すれば良いのでしょうか?
>
> プログラム後にもメモリに残り続けているかどうかって
> どうやって判断すれば良いのでしょうか?
>
>
LoadImageのリファレンスは参照していますか?
一応リンクしておきます。
https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-loadimagea
LoadImageで取得したハンドルは、LR_SHARED をつけない限り、DeleteObject, DestroyCursor, DestroyIcon の
いずれかの削除関数を呼び出す必要があります。
LR_SHARED は必ずつけられるわけではないので、詳しくはリファレンス等を参照してください。
ローカル変数でハンドルを保持するなら不要になるタイミングで、上記のいずれかのAPIでGDIリソースを削除をする必要があります。
そうではなく、クラスメンバーで保持する場合は、そのクラスは、アンマネージリソースを持ちますので、
IDisposable インターフェースを実装し、しかるべきタイミングで呼び出される Dispose メソッド内で上記APIを呼び出す必要があります。
https://docs.microsoft.com/en-us/dotnet/api/system.idisposable?view=netframework-4.8
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-