<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Mar 31, 2017 at 1:15 PM, Henry Vermaak <span dir="ltr"><<a href="mailto:henry.vermaak@gmail.com" target="_blank">henry.vermaak@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Fri, Mar 31, 2017 at 08:42:24AM -0700, fredvs wrote:<br>
> > Z:\home\fred\uos\examples\uos.<wbr>pas(7438,29) Warning: (4046) Constructing a<br>
> > class "TThread" with abstract method "Execute"<br>
><br>
> Huh, is it Is it serious doctor?<br>
<br>
I use this:<br>
<br>
function DummyThread(param: pointer): ptrint;<br>
begin<br>
  Result := 0;<br>
  EndThread(Result);<br>
end;<br>
<br>
begin<br>
  BeginThread(@DummyThread);<br>
  ...<br>
  ...<br>
end.</blockquote><div><br></div><div>What about calling TM directly? Something like this:</div><div><br></div><div><div>uses cthreads;</div><div>var<br></div><div>  TM: TThreadManager;</div><div>begin</div><div>  TM := Default(TThreadManager); // just hiding hint 'variable TM doesn't seem to be initialized'</div><div>  GetThreadManager(TM);</div><div>  IsMultiThread := TM.InitManager;</div></div><div>...</div><div>end.</div><div><br></div><div>I can't test it now (I would like to debug it asap), but I think FPC offer some option to start the TM without starting a new -- dummy -- thread. o.O</div><div><br></div></div>-- <br><div class="gmail-m_-8880902825019105588gmail_signature"><div dir="ltr"><div>Silvio Clécio</div></div></div>
</div></div>