お世話になります
SetDeleteHandleFlag(int Handle, int *DeleteFlag );//ハンドルが削除されたときに−1が設定される変数を登録する
第1引数は説明の通り登録したい変数だと思いますが第2引数は何なのでしょうか?
試しに同じ変数のポインタを入れて以下のプログラムを試してみたのですが
#include "DxLib.h"
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
SetGraphMode(640, 480, 16);
ChangeWindowMode(true);
if (DxLib_Init() == -1) // DXライブラリ初期化処理
{
return -1; // エラーが起きたら直ちに終了
}
int sound;
int copy;
sound = LoadSoundMem("tes.wav");
copy = sound;
SetDeleteHandleFlag(sound, &sound);
SetDeleteHandleFlag(copy, ©);
DeleteSoundMem(sound);
clsDx();
printfDx("sound=%d\ncopy=%d", sound, copy);
WaitKey(); // 結果を見るためにキー待ち(『WaitKey』を使用)
DxLib_End(); // DXライブラリ使用の終了処理
return 0; // ソフトの終了
}
恐らく関数の使い方が間違っているのだと思いますが
このプログラムだと何故か-1が返ってきたのは変数copyの方だけでした
DeleteSoundMemで削除するのをcopyにしてもcopyの方だけ-1が返ってきました
理想はcopyの方を消すとsoundの方も-1が返ってくるようにしたいのですが可能でしょうか?