GDIオブジェクトの上書き作成 – プログラミング – Home

GDIオブジェクトの上書き作成
 
通知
すべてクリア

[解決済] GDIオブジェクトの上書き作成


夢幻
 夢幻
(@夢幻)
ゲスト
結合: 22年前
投稿: 22
Topic starter  

ふと疑問に思ったのですが次のようなプログラムを実行したとき
GDIはちゃんと解放されるのでしょうか

HPEN hPen = CreatePen(PS_SOLID,1,RGB(255,0,0));
hPen = CreatePen(PS_SOLID,1,RGB(0,255,0));
DeleteObject(hPen);


引用未解決
トピックタグ
たいちう
 たいちう
(@たいちう)
ゲスト
結合: 23年前
投稿: 662
 

解放されないはず。
同じようなことをブラシで行った場合、
数万回でブラシが作成できなくなりました。
ご確認ください。


返信引用
PATIO
(@patio)
Famed Member
結合: 4年前
投稿: 2660
 

APIでCreateしたGDIリソースはDeleteObjectしないと開放されません。
書かれている例の場合、あとでCreateした分は開放されますが、
最初にCreateした分のハンドルが消失してしまい、開放したくても開放できないです。
ハンドルを保持する変数を二つ用意してそれぞれDeleteObjectするか、
二つ目のPenをCreateする前に最初にCreateしたPenを開放しないと
リソースがリークしてしまいます。


返信引用
夢幻
 夢幻
(@夢幻)
ゲスト
結合: 22年前
投稿: 22
Topic starter  

やっぱりそうでしたか。
こんな些細な質問にご返答してくださってありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました