Posted By: bsw (...from the Dark) on 'CZprogram'
Title:     Re: Win32: subclassing
Date:      Tue Apr 29 19:17:15 2003

> > // "sekne se"
> > //LRESULT lret = ::CallWindowProc(_Module.m_WndProc, hwnd, uMsg, wParam, 
> > lParam);
> > 
> > // projde bez problemu...
> > LRESULT lret = _Module.m_WndProc(hwnd, uMsg, wParam, lParam);
> 
> Nebude to tim ze m_WndProc neni volana nikdy primo? Protoze ocekava ze bude 
> mit jako prvni parametr this (protoze to neni static metoda)? Nadefinuj si v

Nerekl bych, m_WndProc je promenna ve tride, jejiz instanci je prave _Module. 
Tedy promenna typu WNDPROC, kde je ulozena puvodni adresa procedury okna. V 
prvnim i ve druhem pripade se vlastne pouzije hodnota teto promenne 
(puvodni adresa), se kterou this pointer nema nic spolecneho. 

Mam za to, ze jako parametr ji predam fci CallWindowProc spravne, ovsem proc 
se program pri pouziti prvniho zpusobu volani zasekne (spadne s vyjimkou, 
tusim, ze se nekde preda NULL) to teda vubec nechapu. 

Pouzivam druhe volani, protoze funguje :-). Jen me zajimalo, zda nekdo se s 
necim podobnym nesetkal. 


bsw 

------------
bsw@email.cz
icq#31499029

Search the boards