<div dir="auto"><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Luca Olivetti via lazarus <<a href="mailto:lazarus@lists.lazarus-ide.org">lazarus@lists.lazarus-ide.org</a>> schrieb am Do., 4. Juni 2020, 15:51:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">El 4/6/20 a les 15:37, Michael Van Canneyt via lazarus ha escrit:<br>
> <br>
> <br>
> On Thu, 4 Jun 2020, Luca Olivetti via lazarus wrote:<br>
> <br>
>>>      FServer.Port:=8080;<br>
>>>      FServer.Threaded:=true;<br>
>>>      FServer.Run;<br>
>>>    except<br>
>>>      on E:Exception do<br>
>>>      begin<br>
>>>        writeln(E.Message);<br>
>>>        sleep(1000);<br>
>>>        FServer.Free;<br>
>>>      end;<br>
>>>    end;<br>
>><br>
>> Oh, and I had to do some more overriding so that the response could <br>
>> have a reference to the calling thread (needed if I want to use <br>
>> synchronize).<br>
> <br>
> That seems a bit strange, since you can do synchronize without needing<br>
> access to the thread object using a class method of TThread ?<br>
<br>
TThread.Synchronize needs a TThread as the first parameter.<br>
This is my work in progress<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">The thread parameter can be Nil. TThread will then use the CurrentThread threadvar and failing that it can also work without any thread object. </div><div dir="auto"><br></div><div dir="auto">In fact it is safer not to pass a thread. </div><div dir="auto"><br></div><div dir="auto">Regards, </div><div dir="auto">Sven </div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote></div></div></div>