ReGaHSS: foreach [9/12 BP-9b] -> Datentypänderung (weitere) der Variable im 1.Parameter setzt den internen Schleifenzähler auf 0
Describe the issue you are experiencing
Ist der 2. Parameter der foreach-Anweisung vom Datentyp integer und es wird innerhalb der Schleife der Datentyp der Variable, welche im 1. Parameter der foreach-Anweisung verwendet wird, in den Datentyp boolean, real, string, var, xml, idarray (nur mit gültiger Referenz aber leer) oder time (nur mit leerem Datumswert) geändert, und verbleibt bis zum Ende des Durchganges als solche, dann wird der interne Schleifenwert auf 0 gesetzt. Der Variabletyp der im 1. Parameter verwendeten Variable bleibt weiterhin integer.
Describe the behavior you expected
Erwartet würde, dass die Änderung des Datentyps innerhalb des Schelifendurchlaufs für die weiteren Schleifendurchläufe keine Auswirkung hat. Vor allem darf der interne Schleifenwert nicht beeinflusst werden.
Steps to reproduce the issue
Ausführung des folgenden Skriptes unter "Skript testen":
WriteLine("Start");
WriteLine(dom.BuildLabel());
!integer lMaxIterations = system.MaxIterations();
!WriteLine(system.MaxIterations(5000));
integer lCount = 0;
string lEnum;
integer lParam2 = 10;
idarray lIdarray;
xml lXml;
time lTime;
lIdarray = (dom.GetObject("Admin")).UserTempViewIDs3();
lIdarray.RemoveAll();
foreach(lEnum,lParam2)
{
lCount = lCount + 1;
WriteLine("--------------------------------------------------");
WriteLine("Durchlauf: " # lCount);
if(true)
{
Write(lEnum.Type() # " ");
}
WriteLine(lEnum);
if(lCount == 5)
{
!gewünschten Variabletyp entkommentieren
!lEnum = true;
!lEnum = false;
lEnum = 3.0;
!lEnum = "";
!lEnum = "Z\tY\tX";
!lEnum = lTime;
!lEnum = null;
!lEnum = lXml;
}
}
WriteLine("--------------------------------------------------");
WriteLine("Schleifenende:");
if(true)
{
Write(lEnum.Type() # " ");
}
WriteLine(lEnum);
WriteLine("lCount = " # lCount);
WriteLine("");
WriteLine("Ende");
What is the version this bug report is based on?
CCU3 mit ReGaHSS-Version R1.00.0388.0235
Which base platform are you running?
rpi3 (RaspberryPi3)
Which HomeMatic/homematicIP radio module are you using?
n/a
Anything in the logs that might be useful for us?
bestehend seit:
ab ReGaHss-Version R1.00.0388.0227 (20.10.2021)
ältere ReGaHss-Version zeigen ein anderes Fehlerbild
Additional information
Ausgabe des Skriptes:
Start
R1.00.0388.0235
--------------------------------------------------
Durchlauf: 1
integer 1
--------------------------------------------------
Durchlauf: 2
integer 2
--------------------------------------------------
Durchlauf: 3
integer 3
--------------------------------------------------
Durchlauf: 4
integer 4
--------------------------------------------------
Durchlauf: 5
integer 5
--------------------------------------------------
Durchlauf: 6
integer 1
--------------------------------------------------
Durchlauf: 7
integer 2
--------------------------------------------------
Durchlauf: 8
integer 3
--------------------------------------------------
Durchlauf: 9
integer 4
--------------------------------------------------
Durchlauf: 10
integer 5
--------------------------------------------------
Durchlauf: 11
integer 6
--------------------------------------------------
Durchlauf: 12
integer 7
--------------------------------------------------
Durchlauf: 13
integer 8
--------------------------------------------------
Durchlauf: 14
integer 9
--------------------------------------------------
Durchlauf: 15
integer 10
--------------------------------------------------
Schleifenende:
integer 11
lCount = 15
Ende