On 08/08/13 12:50, Henry Vermaak wrote:
> On Thu, Aug 08, 2013 at 12:15:44PM +0100, Lukasz Sokol wrote:
>> but I would then need to make the wrapper object aware of the Application 
>> or its forms then?
>>
>> I wanted the wrapper unit to be as self-contained as much as possible,
>> (so the callback function is defined in a unit that only has Classes, 
>> SysUtils and dynlibs as uses,
>> i.e. no Forms. Controls or Graphics)
>> but still be thread-safe w/r/t to where the wrapper object is created
>> (within a GUI form or /not/)
> 
> Create an event in your wrapper class and make sure that it's documented
> that this event will be called from a thread.  Then if you use this
> wrapper class from a gui app, you can use Application.QueueAsyncCall or
> PostMessage in the event handler.  If you use the wrapper from a command
> line app, you'll have to use a thread-safe queue that you query from
> time to time in the main thread of the app, or build it into your event
> loop, if you have one.
> 
> Henry

Thanks - I see it's the only way forward then :)

Lukasz


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

Reply via email to