<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
peter green wrote:
<blockquote cite="midCBEGLCFKGFBHNOLMKIMHAELNCLAA.plugwash@p10link.net"
 type="cite">
  <blockquote type="cite">
    <pre wrap="">What does the compiler do when translating "procedure ... message" ?

I need to know this as I want to create a non-GUI workalike of the 
TApplication class that can do things like "TTimer" 
"TThread.Synchronize", Message events, etc, using Windows messages in 
Windows (for testing purpose) and system V message queues in Linux.
    </pre>
  </blockquote>
  <pre wrap=""><!---->afaict it does the same as delphi does, puts them in some form of table which is used by the dispatch method in tobject (which on delphi at least is called from wndproc which is called from mainwindowproc which is registered as the window procedure for the window and hence called by windows when the mainloop calls the windows api function dispatchmessage).

  </pre>
</blockquote>
Thanks a lot for your answer. <br>
<br>
That is the result of what is happening. Most of it is done by the
library (the compiler can't do this by itself), and I am trying to use
some home-brew library functions here. <br>
<br>
What I wanted to know is how the compiler does this (or how I can find
out what exactly it does).<br>
<br>
I _assume_ that when it sees "procedure ... message" the compiler in
the "initialization" section generates a call to a library function
that is supposed to register the message with the procedure. I need to
know the name of this function so that I can do it in my new library. <br>
<br>
I suppose in the end WidgetSet.AddEventHandler is called, but as the
compiler does not know about a WidgetSet object that is created by the
initialization of the RTL done by the library, I suppose some mechanism
in the library is catching the stuff the compiler magic creates for
"procedure ... message".<br>
<br>
-Michael<br>
</body>
</html>