On 08/19/2011 01:45 PM, Juan Sánchez wrote:
Yes, they've got different hex values both in main an dll.
IMHO this proves that the complete static memory of the LCL is duplicated. So in fact it should be possible to overcome the fact that "the LCL is not reentrant" and have the Shared Object create it's own independent GUI.

OK. My impression that each TApplication instance needs it's own thread to work decently. Only this way the two Event queues that are created (even if in Windows the Event queues are implemented using the Message Queue for the main Window), can work decently and independent. I suppose this can be done just by doing Application.Run in the Execute procedure of a TThread instance.
I think as you. And making new tests I see as you that communication between these in fact "programs" might be an interesting task.
My suggestion is first to find out if/how a completely independent GUI for the main application and the Shared Object can be made decently working on all OSes.

After that try to do a mutual notification. This needs to be done via the appropriate event queue, and thus best by Application.QueueAsyncCall, using the other sites Application object. Of course a DLL call needs to be implemented to provide the pointer to the Application Object to the other site.

have fun,
-Michael

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to