18.02.2010 16:16, Michael Schnell:
[trim]
use "procedure .... message". But In Delphi/Windows you don't need to
create a server. Just using "procedure .... message" is enough o receive
a message from another process.
No. AFAIK even in Delphi, "message procedures" for non-components are pretty much abstract (and probably almost useless). The messaging system you are talking about only works automagically for components belonging to the Application component (and is therefore limited to the main thread).

If you create a thread in Delphi (even a Tthread descendant) you will not be able to insert components to it, because it is not a component itself. So, if you are going to make this messaging work to some degree in non-main thread on windows, you'll probably need to take care of some things manually. First, you'll need some window handle created within your thread, as otherwise OS will not even create a message queue for this thread. Delphi won't do this for you, AFAIK. Then, in the body of your thread, you'll need to regularily fetch new messages (GetMessage or PeekMessage etc) and actually dispatch them to some objects (maybe to this very tthread object for instance).

If this is possible with FPC/Linux, I
should make sure that it's still possible with the NoGUIApplication package.

When I ported some threaded delphi application to linux I replaced window handles (used for inter-thread communication) by unix pipes. These are not exactly the same, but generally provide sufficient functionality and are quite easy to use. No idea if it is anywhere appropriate in your case, though.

Hope this helps:)

Nikolai

-Michael
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to