Bist du dir sicher, dass es an SetProcessAffinityMask liegt?
Hast du mal geschaut ob der Fehler auch auftaucht wenn du SetProcessAffinityMask nicht aufrufst?
Habe ich nachgeprüft, es liegt nicht an SetProcessAffinityMask. Es liegt an der Erweiterung eines OpenArray-Parameters in einer
DLL-Funktion (das hatte ich hier
http://www.delphipraxis.net/191814-d...ml#post1362766) schon mal geschrieben.
Seltsamerweise funktioniert die Erweiterung des OpenArrays sonst wunderbar, nur in einem Codeabschnitt nicht (oder zumindest resultiert die OpenArray-Erweiterung in einer
Access Violation, wenn ich das Programm beende).
Vom Prinzip ermittle ich die Anzahl logischer CPU-Kerne, setze nacheinander jeden einzelnen Kern als aktiv, führe einen bestimmten Lesebefehl durch, und springe zum nächsten Kern weiter. Meine CPU hat 8 logische Kerne, und wenn ich die Schleife auf 5 begrenze, funktioniert alles noch. Erst ab dem 6. Kern kommt diese
Access Violation, die ich weiter oben beschrieben habe.