トップページ > 記事閲覧
グラフィック削除時のハンドル番号の扱いについて
名前:たけちー 日時: 2014/04/11 06:17

すみません、メモリに読み込んだグラフィックの削除状態について質問させてください。 ハンドルA=LoadGraph( char *FileName ) ; でグラフィックを読み込み、その後、そのハンドルAから ハンドルB=DerivationGraph( int SrcX, int SrcY,     int Width, int Height, ハンドルA ) ; を作成したとします。 この後に DeleteGraph( ハンドルA ) ; をすることで元のグラフィックがメモリから削除されてハンドルAもハンドルBも表示されなくなると思うのですが、 グラフィックハンドルの番号としてはハンドルBは残ったままになるのでしょうか? ハンドルAの削除のみでハンドルBの登録番号も削除されるのでしょうか? 頻繁にグラフィックのメモリへの読み込みと削除を繰り返すので 実は使えていない状態でハンドルBの登録番号だけが32768個のハンドル番号をどんどん侵食していくのかどうかを教えて頂きたいです。 上記のような場合、グラフィック(メモリ&ハンドル番号)の削除は大元の DeleteGraph( ハンドルA ) ; だけでいいのか DeleteGraph( ハンドルA ) ; DeleteGraph( ハンドルB ) ; と、グラフィックが絡む全ての番号でハンドル削除を行う必要があるのか。 宜しくご教授ください。
メンテ

Page: 1 |

Re: グラフィック削除時のハンドル番号の扱いについて ( No.1 )
名前:管理人 日時:2014/04/13 10:58

> をすることで元のグラフィックがメモリから削除されてハンドルAもハンドルBも表示されなくなると思うのですが、 > グラフィックハンドルの番号としてはハンドルBは残ったままになるのでしょうか? > ハンドルAの削除のみでハンドルBの登録番号も削除されるのでしょうか? はい、ハンドルBは残ったままになります、なので DeleteGraph( ハンドルA ) ; DeleteGraph( ハンドルB ) ; のように全ての番号でハンドル削除を行うか、 DeleteSharingGraph という、関連するハンドルも一緒に削除する関数で DeleteSharingGraph( ハンドルA ) ; を実行してください // 指定のグラフィックハンドルと、同じグラフィックハンドルから派生している // グラフィックハンドル( DerivationGraph で派生したハンドル、 // LoadDivGraph 読み込みで作成された複数のハンドル等 )を一度に削除する int DeleteSharingGraph( int GrHandle ) ;
メンテ
Re: グラフィック削除時のハンドル番号の扱いについて ( No.2 )
名前:たけちー(解決済み) 日時:2014/04/16 05:09

DeleteSharingGraphを使えば一命令で元から絶てるのですね。 丁寧なご返答ありがとうございました!
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存