私が持っています
var H: array of THandle;
次に、ループで複数のスレッドを作成し、Hの要素にスレッドハンドルを割り当てて、それらを待機します。@H [0]を2番目のパラメーターとして以下のWFMOに渡すと機能します。
WaitForMultipleObjects(Length(H), @H[0], True, INFINITE) <-- Works
しかし、以下のように@Hを渡すと、WAIT_FAILEDで失敗します。GetLastErrorは「無効なハンドル」を返します。
WaitForMultipleObjects(Length(H), @H, True, INFINITE) <--- Fails.
@Hが@H [0]と異なるのはなぜですか?
H: array[0..10] of THandle
場合、@ H と@H [0]は同じになると思います。確認できます。