[fpc-pascal] Current TThread
michael.vancanneyt at wisa.be
michael.vancanneyt at wisa.be
Tue Dec 21 14:59:08 CET 2010
On Tue, 21 Dec 2010, Mattias Gaertner wrote:
> On Tue, 21 Dec 2010 14:29:36 +0100 (CET)
> michael.vancanneyt at wisa.be wrote:
>
>>
>>
>> On Tue, 21 Dec 2010, Mattias Gaertner wrote:
>>
>>> Hi,
>>>
>>> How to get the current TThread instance?
>>
>> There is no documented method.
>
> Strange.
> Am I really the first needing this?
Apparently.
I never needed such a method, and I use threads extensively :-)
>
>
>>> For example: I created a TThread and called a function, which calls a
>>> function .... One of those sub functions needs to call
>>> TThread.Synchronize, which needs as parameter the current TThread.
>>
>> Pass on the TThread instance.
>
> You mean as parameter?
Yes.
> Some functions are predefined events. That means I call them and they
> call me back. I would like to avoid adding everywhere another parameter.
I understand that. Well, you could create an event object for the event
handler.
>
>> You could use GetCurrentThreadID and a lookup list.
>
> What about using a
>
> threadvar CurrentThread: Thread;
>
> ?
> TThread could set this in the constructor.
This could be done, but will give errors for externally created threads.
But you can easily do this for your own thread objects.
>
> BTW, you can call Synchronize for another thread than the current.
> Is that allowed?
It's a method like any other. Why not ?
Michael.
More information about the fpc-pascal
mailing list