◀ANSI版開発トップへ
  • 3820 D&Dのメモリ管理
    • 3828 Re: D&Dのメモリ管理
  • [3820] D&Dのメモリ管理 もか 2005年01月23日 19:26


    ▼CDropTarget.cpp
    >DWORD CDataObject::DragDrop()
    > CDropSource drop( bLeft );
    > if( SUCCEEDED( ::DoDragDrop( this, &drop, dwEffects, &dwEffect ) ) )
    関数から抜けるとデストラクタが走って無効になるんですが、いいんでしょうか。

    ▼CEditWnd.cpp
    >LRESULT CEditWnd::OnMouseMove()
    > DoDragDrop(DataObject, new CDropSource(TRUE), DROPEFFECT_COPY | DROPEFFECT_LINK, &R);
    こちらは、newしていますが、削除されません。

    CDropSourceのReleaseは、
    > STDMETHOD_( ULONG, Release )( void )
    > {
    > return 0;
    となっていて削除はしません。(デストラクタが消す)
    • [3828] Re: D&Dのメモリ管理 もか 2005年01月27日 23:30

      > CDropSource drop( bLeft );
      > if( SUCCEEDED( ::DoDragDrop( this, &drop, dwEffects, &dwEffect ) ) )
      すみませんこれは、問題ないようです。