繁体   English   中英

@H 和@H[0] 的区别

[英]Difference between @H and @H[0]

我有

 var H: array of THandle;

然后在循环中创建多个线程,并将线程句柄分配给 H 的元素,然后等待它们。 将 @H[0] 作为第二个参数传递给下面的 WFMO 是可行的。

WaitForMultipleObjects(Length(H), @H[0], True, INFINITE) <-- Works

但是如下所示传递 @H 失败并显示 WAIT_FAILED。 GetLastError 返回“无效句柄”。

WaitForMultipleObjects(Length(H), @H, True, INFINITE)  <--- Fails.

为什么@H 不同于@H[0]?

  1. 因为是动态数组, H已经是一个指针,指向第一个元素,所以
  2. @H[0]H相同 - 指向第一个元素的指针
  3. 现在@H等于@@H[0] - 指向第一个元素的指针。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM