hallo
array_shuffle arbeitet mit einem array of REAL (siehe DOKU)
das heisst es werden immer REAL-Werte (32bit BINAER) untereinander vertauscht
dein bool_array belegt intern relativ sicher pro bool nur ein byte, somit kann nichts vernünftiges rauskommen
dein-test: arWuerfel : ARRAY[1..6] OF BOOL
belegt in der praxis 6 bytes, das belegt umgerechnet den platz von 1,5 REAL-WERTE
und 1,5 REAL-Werte kann man nun uach nicht mischen
du könntest notfalls ein array_of_real benutzen und das array folgend belegen
arWuerfel : ARRAY[1..6] OF REAL := 1,0,1,1,0,1;
das kann man ja auch wieder sauber mit REAL_TO_BOOL wandeln
ein array of dword sollte genauso funktionieren, das frist weniger performance als real
du hattest noch eine frage: Was bedeutet der Unterstrich am Funktionsnamen?
das heisst anfänger sollten die finger davon lassen, da mit diesen bausteinen der speicher per pointer direkt manipuliert wird
und bei falscher handhabung kann es zu problemen (auch abstürzen) kommen.
Siehe doku _Kapitel 2.2