[fpc-pascal] How to use a window message queue in a call?
Daniel Gilbert
fpc-mailinglist at danielgilbert.de
Wed Jan 27 10:00:41 CET 2010
Hi there,
this is my first posting to the fpc-mailinglist, so please don't slap me
if I do anything wrong. :)
I'm currently re-writing a program I've written in Delphi some months
ago. Due to the now missing free version, I've decided to switch over to
Freepascal. But now, I'm somehow stuck.
The application is Windows-only, and I'm using WindowsAPI-calls to
create the main window. But I would like to program in an
object-oriented way, so I decided to create a class, TstMainWindow.
To get Messages from your Window, you need a Callback. Unfortunately, a
pointer to a method is <> a pointer to a function.
So i tried this workaround, I've posted it at the german lazarus forum:
http://www.lazarusforum.de/viewtopic.php?f=15&t=3438&start=0
( You could use Google Translate, but I guess the code should be pretty
obvious. )
I reused the code from this Delphi-PRAXiS.net posting:
http://www.delphipraxis.net/topic72146.html
( In case you would like to take a look at the whole project, please
feel free to download this archive: http://smalltune.net/smalltune_fpc.zip )
When I run the code in the IDE, I get an error message called "EXTERNAL:
SIGSEV" and an empty assembler window pops up, with adresses starting at
00000000.
If I run the program "normally", it closes immediately and I get no
error message or anything else.
So I've tried to debug the code, but the debugger crashes after the
first run in the TstMainWindow.FWndProc(...) function.
Does anyone have an idea, how i can get this to work?
Greetings,
Daniel
More information about the fpc-pascal
mailing list