Arne Fl. Jensen wrote:
> Hi all,
> I try to create a windows service with Httpserver. I have used the
> example in the OverbyteIcsSrvTcp1 project, with a separate unit
> OverbyteIcsCmd. In the last mentioned - in my version I use
> Thttpserver.  Here are two events; ClientConnect and ClientDisConnect
> witch use "postmessage (Handle, WM_CLIENT_COUNT, 0, 0)". I have a
> messagepump like this: 

You do not need a message pump in TService, both main and service
thread process messages. If you drop the component on the TService
data module server events trigger in main thread, if you create
the component in i.e. OnServiceStart  at run-time events are triggered
in the service thread. The WM_CLIENT_COUNT message is a custom
message declared in the demo and sent to mainform's window handle.

Since there are no windows in a TService application but the hidden
ICS window(s) by default you have to either register your custom
message in a derived THttpServer class and override its WndProc method
and the post the custom message to server's window handle or you create
your own hidden window (see Classes.AllocateHWnd) and use that as the
destination window.

My enhanced service framework DDService might help you as it has a 
property that creates a hidden window in the service thread. It also
allows to use custom service controls which are simply windows
messages posted to the service thread. Something like:
PostThreadMessage(<ServiceThreadID>, CM_SERVICE_CONTROL_CODE, 
<user-defined control code in the range 128 to 255>, <a LParam>).
would trigger event OnCustomControl.

Arno Garrels

To unsubscribe or change your settings for TWSocket mailing list
please goto
Visit our website at

Reply via email to