Re[2]: COM-коллекции
От: vitaly_spb Россия  
Дата: 26.05.03 09:02
Оценка:
AS>В качестве элемента вектора заводишь структуру
AS>
AS>struct _item
AS>{
AS>   IDispatch* pDisp;
AS>   long lId;
AS>};
AS>


AS>Удаление:

AS>
AS>STDMETHODIMP CSquiggleCollection2::Remove(long lId)
AS>{
AS>    // Be sure we are in range.
AS>    for(int i = 0; i < m_vecSquiggles.size();i++)
AS>    {
AS>        // Find the correct squiggle.
AS>        if (m_vecSquiggles[i].lId == lId){
AS>            IDispatch* pDisp = m_vecSquiggles[i];
AS>            pDisp->Release();
AS>            m_vecSquiggles.erase(m_vecSquiggles.begin() + i);
AS>            return S_OK;
AS>        }
AS>    }
AS>    return E_FAIL;
AS>}
AS>

Честно говоря, мне не очень понятно: как lId согласовывается с моим ID у элемента?

AS>Это нужно еще Advise немного переделать.

А это что значит?

AS>А вообще, такие вещи на map'е делать — самое то!

С радостью, может подскажешь как сделать это же с помощью map?
...Ei incumbit probatio, qui dicit, non qui negat...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.