[fpc-pascal]Re: Method in WndClassEX

Carlo Kok ck at carlo-kok.com
Sun Oct 14 00:34:08 CEST 2001

----- Original Message -----
From: "Jonas Maebe" <jonas at zeus.rug.ac.be>
To: <fpc-pascal at deadlock.et.tudelft.nl>
Sent: Saturday, October 13, 2001 11:14 PM
Subject: Re: [fpc-pascal]Re: Method in WndClassEX

> On Sat, 13 Oct 2001, Luis Del Aguila wrote:
> >> No, you cannot assign methods to normal procedure variables, only
> >> 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.
> >
> > Existe alguna manera de pasar un metodo al registro lpfnWndProc usando
> > ensamblador o algo mejor?
> >
> > Do you know when allocate a metthod in the field lpfnWndProc of the
> > WndClassEX using Assembler or something best?
> As I said: no, there is no way to use a method instead of a normal
> procedure as a call-back if the call-back is supposed to be a normal
> procedure. No matter how much assembler you use, Windows will never pass a
> self pointer to your method.

You could call SetWindowLong and set the pointer there and read it later.

> Jonas
> _______________________________________________
> fpc-pascal maillist  -  fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal

More information about the fpc-pascal mailing list