Autor Wątek: Jak otrzymać uchwyt (itemHandle) kontaktu?  (Przeczytany 969 razy)

0 Użytkowników i 1 Gość przegląda ten wątek.

Offline Inoex

  • Narybek
  • *
Jak otrzymać uchwyt (itemHandle) kontaktu?
« dnia: Wrzesień 24, 2010, 18:12:03 pm »
Hmm czy ja coś robie nie tak albo czegoś nie rozumiem?

Próbuje złapać itemHandle kontaktu na liście.

Udaje mi się to przy hook'u na WTW_ON_PROTOCOL_EVENT :

       wtwMessageDef*    pMsg  = (wtwMessageDef *) wL;
       wtwContactDef cDef = pMsg->contactData;

       itemHandle = pF->fnCall( WTW_CTL_FND_CONTACT, (WTW_PARAM)&cDef, NULL );

      // w itemHandle mam uchwyt kontaktu na liście, czyli wszystko działa


Natomiast przy hook'u na WTW_EVENT_ON_CHATWND_ACTIVATE ten sam sposób nie działa:

     wtwContactDef* cDef = (wtwContactDef *) wP;    
 
     itemHandle = pF->fnCall( WTW_CTL_FND_CONTACT, (WTW_PARAM)&cDef, NULL );
      
     // itemHandle zwraca 0, natomiast cDef->id zwraca prawidłowy ID kontaktu


Sam już nie wiem co o tym myśleć, może ktoś mądrzejszy ode mnie to ogarnie :)

A może ja po prostu źle wyłapuje ten itemHandle? Jest jakis inny sposób dostania itemHandle kontaktu mając wtwContactDef?


Offline sWirus

Re: Jak otrzymać uchwyt (itemHandle) kontaktu?
« Odpowiedź #1 dnia: Wrzesień 24, 2010, 18:19:32 pm »
w drugim przypadku cDef to wskaźnik na wtwContactDef, co oznacza, że przekazując do WTW_CTL_FND_CONTACT &cDef przekazujesz wskaźnik na wskaźnik :P

Usuń '&' ;p
Oblałem test Turinga... damn ;/

Offline Inoex

  • Narybek
  • *
Re: Jak otrzymać uchwyt (itemHandle) kontaktu?
« Odpowiedź #2 dnia: Wrzesień 24, 2010, 18:31:46 pm »
ekhm... zostawie to bez komentarza ;)  Dzięki, działa :)