【发布时间】:2012-04-21 11:55:48
【问题描述】:
我需要在 win32 的帮助下欺骗一系列事件。语言:Ada。
我做什么:
p:integer := 4;
Type EvArr1 is array (1..p) of HANDLE;
procedure Start (Tid : in integer) is
Task T1;
task body T1 is
Bl:bool;
temp:Dword;
...
begin
...
Bl:=(EvArr1(Tid));
temp:=WaitForMultipleObjects(EvArr1, infinite);
...
end T1;
end start;
BEGIN
...
for i in 1..p loop
EvArr1(i) := CreateEvent(null, 1, 0, null); -- error
EvArr2(i) := CreateEvent(null, 1, 0, null); -- error
start(i);
end loop;
错误:
类型不可转换;操作数类型必须是数组类型,继续
【问题讨论】:
-
完整诊断所需的更多信息。您的 CreateEvent 函数很可能没有返回 HANDLE 类型的内容。
-
ps,你的任务看起来也有点奇怪,建议你看看这个(en.wikibooks.org/wiki/Ada_Programming/Tasking)
标签: multithreading winapi events ada