[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.

> 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

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


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

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

Yes, to some degree.


More information about the Lazarus mailing list