[fpc-pascal]Method in WndClassEX

Jonas Maebe jonas at zeus.rug.ac.be
Fri Oct 12 15:53:25 CEST 2001


On donderdag, oktober 11, 2001, at 07:02 , Luis Del Aguila wrote:

>  may I allocate a metthod in the field lpfnWndProc of the WndClassEX
> Registers?
> Like this :
>
> VAR
>   ClaseVentana : WndClassEX;
>    ...
>
>    ClaseVentana.lpfnWndProc := WndProc(M├ętodo);

No, you cannot assign methods to normal procedure variables, only normal 
procedures. The reason is that methods always expect an extra parameter 
containing the self pointer of the object/class instance they are 
working on. If you do the above, then when windows calls you "wndproc" 
(which isn't really a wndproc, since you have to add an explicit type 
cast for the compiler to accept the statement), it won't pass any self 
pointer and as such the method will not work correctly.


Jonas





More information about the fpc-pascal mailing list