По документации выглядит так:
NewThread(Proc: TThreadFunc; Parameter: Pointer = nil);
По крайней мере в 1.71 второй параметр не принимается. Пишет Too many arguments.
Нашел здесь совет использовать BeginThread (http://asiwin.com/topic/107-потоки-имитации-псевдопараллельной-работы/).
Но опять автор ничего не передает в процедуру. По документации пишут делать так:
......
Implementation
ThreadVar
msgPtr : ^TMsgRecord;
function ShowMsg(Parameter : Pointer) : Integer;
begin
Result := 0;
msgPtr := Parameter;
ShowMessagePos('Thread '+IntToStr(msgPtr.thread)+' '+msgPtr.msg,
200*msgPtr.thread, 100);
EndThread(0);
end;
Не получается объявить ThreadVar, что бы потом привести input Pointer процедуры к нужному мне типу. Получаю: "end" expected but "ThreadVar" found. Как будто не знает такого ключевого слова (может в боте используется версия делфи, в которой еще не реализована ThreadVar?). Хотя в редакторе слово подсвечивается.
Подскажите, что делать.
NewThread(Proc: TThreadFunc; Parameter: Pointer = nil);
По крайней мере в 1.71 второй параметр не принимается. Пишет Too many arguments.
Нашел здесь совет использовать BeginThread (http://asiwin.com/topic/107-потоки-имитации-псевдопараллельной-работы/).
Но опять автор ничего не передает в процедуру. По документации пишут делать так:
......
Implementation
ThreadVar
msgPtr : ^TMsgRecord;
function ShowMsg(Parameter : Pointer) : Integer;
begin
Result := 0;
msgPtr := Parameter;
ShowMessagePos('Thread '+IntToStr(msgPtr.thread)+' '+msgPtr.msg,
200*msgPtr.thread, 100);
EndThread(0);
end;
Не получается объявить ThreadVar, что бы потом привести input Pointer процедуры к нужному мне типу. Получаю: "end" expected but "ThreadVar" found. Как будто не знает такого ключевого слова (может в боте используется версия делфи, в которой еще не реализована ThreadVar?). Хотя в редакторе слово подсвечивается.
Подскажите, что делать.