更新できないので閉鎖しました。
#更新がなければ強制的に閉鎖されるはずですが、そうでもないようです。
アイコン作成ツール(ソース付き)は
eGroups:Junk/ToolIconMaker20021013src.zip
古いアイコンは
eGroups:Developer/Source/old_icon20050124.ZIP
にアップしておきました。
>ヘルプに対してコンテキストID HLP000286 が指定されていましたが,これは直し忘れ?
>でもこのダイアログボックスにはヘルプボタンがないのでこれは不要ですよね.
コピーしたのがばれちゃいましたね。
直し忘れ・消し忘れです。
メモ:
dev:3800あたりで言われている問題ですが、
CSemaphore.hを作成して、CShareDataに組み込みます。
で、配列操作関数でセマフォを取るようにすれば少しは危険を回避できるので
はないでしょうか。
#エラー処理等は省いてます。
class CSemaphore{
HANDLE m_hSem;
CSemaphore(){
m_hSem = ::CreateSemaphore( NULL, 1, 1, _T("SemaphoreSakura") );
}
~CSemaphore(){
::CloseHandle( m_hSem );
}
void SemTake( void ){
DWORD dwRet = ::WaitForSingleObject( m_hSem, INFINITE );
//判定
}
void SemGive( void ){
::ReleaseSemaphore( m_hSem, 1, NULL );
}
}
func(){
SemTake();
//CShareData::getInstance()->SemTake(); //CShareData以外から
//クリティカル処理
SemGive();
//CShareData::getInstance()->SemGive(); //CShareData以外から
}
二重呼び出しするとロックしてしまうので注意が必要です。
#他のプロセスとの排他ができればよいだけだと思うのですが。。。