[Lazarus] Library, Threads and Gui

Mattias Gaertner nc-gaertnma at netcologne.de
Tue Jun 5 08:29:06 CEST 2012


On Tue, 05 Jun 2012 10:18:04 +0930
SteveG <steveg at nevets.com.au> wrote:

> I understand that the gui system is non-reentrant, and therefore should 
> not be accessed by any thread but the main one.

yes
 
> I am using cmem as my memory manager for both my app and library (if 
> thats relevant),

yes it is relevant.
If you have two memory managers you can not exchange strings and
classes.


> and it would appear that the entrant thread of the 
> library is the same as the main app ?

Yes.

What OS?

 
> So.... is it safe to read / write to gui components (I have the control 
> addresses) from within the library (no new threads created) without 
> problems ?

The "is" operator requires that the library uses the VMTs of the main
application.

 
> To summarise - can I rd/wr to form controls from within a cmem 
> controlled library using its main thread ?

Yes, to some degree.

Mattias




More information about the Lazarus mailing list