◀ANSI版開発トップへ
  • 3826 サクラエディタ応援ページ
    • 3827 RE: サクラエディタ応援ページ
  • [3826] サクラエディタ応援ページ げんた 2005年01月24日 03:24

    そういえば,みくさんの「サクラエディタ応援ページ」って何処に行っちゃったのかしらん.
    「サクラエディタのツールアイコン作って。」とかあったのに...
    • [3827] RE: サクラエディタ応援ページ みく 2005年01月24日 19:11


      更新できないので閉鎖しました。
      #更新がなければ強制的に閉鎖されるはずですが、そうでもないようです。

      アイコン作成ツール(ソース付き)は
      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以外から
      }

      二重呼び出しするとロックしてしまうので注意が必要です。
      #他のプロセスとの排他ができればよいだけだと思うのですが。。。