[Lazarus] How to PostMessage to object?

Mattias Gaertner nc-gaertnma at netcologne.de
Thu Jun 9 13:00:40 CEST 2011


 
 

 Henry Vermaak <henry.vermaak at gmail.com> hat am 9. Juni 2011 um 12:12
geschrieben:

 > On 09/06/11 11:01, Mattias Gaertner wrote:
 > >
 > >
 > > Michael Schnell <mschnell at lumino.de> hat am 9. Juni 2011 um 11:46
 > > geschrieben:
 > >
 > >  > On 06/09/2011 10:58 AM, Henry Vermaak wrote:
 > >  > > You will corrupt the linked list that QueueAsyncCall() uses when you
 > >  > > call it from multiple threads, so you _must_ protect it.
 > >  > As QueueAsyncCall is specified exactly for this use, it needs to take
 > >  > care of this issue internally. Otherwise it obviously is buggy. I trust
 > >  > that the LCL developers did a decent job.
 > >
 > > The only "specification" I found for TApplication.QueueAsyncCall is the
 > > fpdoc entry:
 > >
 > > Insert a given asynchronous call into the queue
 > >
 > > Why do you think it is thread safe?
 >
 > Do you propose that QueueAsyncCall throws an exception if it's used from
 > outside the main thread?  Otherwise adding a critical section to all the
 > async queue methods is in order.
 I made it thread safe. Please test.

 Mattias
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20110609/709df93e/attachment-0003.html>


More information about the Lazarus mailing list