Я беру пример 02_TwoWayHello .Я добавляю свою процедуру к коду.
procedure MyTask (const task: TOmniTask);
var
msgData: record
foo: Word;
bar: Word;
end;
msg: TOmniValue;
msgID: word;
RandTimeOut: integer;
begin
repeat
RandTimeOut: = 5000 {ms} + Random (501) {0..500 ms};
case DSiWaitForTwoObjects (Task.TerminateEvent, Task.Comm.NewMessageEvent, false, RandTimeOut) of
WAIT_OBJECT_1: begin {something} end;
WAIT_TIMEOUT: begin {something} end;
end; {end case}
until (Task.Terminated);
end;
в целом, это соответствует процедуре RunHello из самого примера.Далее я изменяю код
procedure TfrmTestTwoWayHello.actStartHelloExecute (Sender: TObject);
begin
FHelloTask: = FMessageDispatch.Monitor (CreateTask (MyTask, 'Mytask')).Run;
// FMessageDispatch.Monitor (CreateTask (RunHello, 'Hello'))
// .SetParameter ('Delay', 1000)
// .SetParameter ('Message', 'Hello')
// .Run;
end;
Почему я получаю ошибку при компиляции: E2250 Нет перегруженной версии CreateTask, которую можно вызывать с этими аргументами Что не такздесь