ich habe
var H: array of THandle;
Dann erstelle ich in einer Schleife mehrere Threads, ordne den Elementen von H Thread-Handles zu und warte darauf. Das Übergeben von @H [0] als 2. Parameter an WFMO unten funktioniert.
WaitForMultipleObjects(Length(H), @H[0], True, INFINITE) <-- Works
Das Übergeben von @H wie unten schlägt jedoch mit WAIT_FAILED fehl. GetLastError gibt "Ungültiges Handle" zurück.
WaitForMultipleObjects(Length(H), @H, True, INFINITE) <--- Fails.
Warum unterscheidet sich @H von @H [0]?
H: array[0..10] of THandle
würde, wären @H und @H [0] vermutlich gleich. Ich kann es überprüfen.H
es sich um ein statisches Array handelt , müssen Sie seine Adresse über den@
Operator abrufen und sind dann@H
gleich@H[0]
.