[Lazarus] "Active NoGui" LCL Widget Type

Sven Barth pascaldragon at googlemail.com
Thu Jul 10 14:49:35 CEST 2014


Am 10.07.2014 13:34 schrieb "Michael Schnell" <mschnell at lumino.de>:
>
> In order not to steel yet another Thread topic I answer in a new
thread....
>
> On 06/27/2014 11:35 AM, Mattias Gaertner wrote in "Re: [Lazarus] nonlcl
basic issue: is codetools LCL dependent?":
>>
>>
>>>   handling the waiting and waking for both Queues simultaneously. This
(waiting and waking regarding the additional queue) needs arch depending
code (as done in the GUI based Widget Types).
>>
>>
>> That's not arch dependent, but library dependent.
>> In case of nogui there is no library, so you have the full control.
>
>
> I just re-checked and found that in thread.inc the "waiting and waking"
is done by calls to callback variables such as "rtleventWaitFor" and
"rtleventSetEvent".
>
> When initializing, these variables are filled with the appropriate
"OS-depending" function pointers by code in the file  "systhrd.inc" located
in the OS-appropriate folder.
>
> I understand that the "rtlevent..." stuff and the method to append an
event to the TThread queue  is private to TThread and hence I can't use
this for TTimer and TApplication.QueueAsyncCall, Hence my only option
(other than constructing an additional queue including an additional
"OS-depending" "waiting and waking" mechanism) is using the timeout of
CheckSynchronize (e.g. for TTimer), and TThread.Queue (e.g. for
TApplication.QueueAsyncCall).
>

The TThreadManager.RTLEvent* procvars are available through analogous named
RTLEvent*  functions...

Regards,
Sven
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20140710/f78004e3/attachment-0003.html>


More information about the Lazarus mailing list