You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've a problem with wrong variable declaration In the attached file.
The first part in the file is the IL code with C#, the second part is the ILAst and at the end is the C# Code of the faulty function.
In the C# part I've comment the faulty declaration, calculation and usage of the variable d, num5 and d2. I illustrated the problem in the simplified code inserted below. In the ILAst part the variable d, num5 and d2 are declared and inititalized with "0" outside the foreach loop. In the wrong C# code the calculation is done and will be cleared in the following loop. In the following "else if" block the variable d, num5 and d2 are always "0", the correct calculates values from the previous loop are lost.
I hope my description was helpful.
Yours
Stefan
foreach (DataPoint point in series.Points)
{
...
decimal d = default(decimal); <--- Clear d (wrong)
decimal num5 = default(decimal); <--- Clear num5 (wrong)
decimal d2 = default(decimal); <--- Clear d2 (wrong)
if (num2 + GlobalForm.ChartStartIndex == num)
{
...
d = new decimal((absolutePoint2.Y - absolutePoint.Y) / (absolutePoint2.X - absolutePoint.X)); <--- Calculation of d, not use in this block anymore
num5 = new decimal((absolutePoint4.Y - absolutePoint3.Y) / (absolutePoint4.X - absolutePoint3.X)); <--- Calculation of num5, not use in this block anymore
d2 = new decimal((absolutePoint2.X - absolutePoint.X) / (float)(num4 - num3)); <--- Calculation of d2, not use in this block anymore
ShowTarget(e, series, i, num2 + 1);
}
else if (num2 + GlobalForm.ChartStartIndex > num)
{
decimal num6 = new decimal(Convert.ToSingle(decimal.Multiply(decimal.Multiply(d, new decimal(num2 + 1 - num3)), d2)) + absolutePoint.Y); <--- Use of d, d2 calculate above
decimal d3 = new decimal(Convert.ToSingle(decimal.Multiply(decimal.Multiply(num5, new decimal(num2 + 1 - num3)), d2)) + absolutePoint3.Y); <--- Use of num5, d2 calculate above
...
}
}
Would it be possible for you to provide the binary? Having the binary would make debugging this a lot easier. If you want to provide it through a private channel, you can use my email address [email protected]
Hi,
thank you for this great tool.
I've a problem with wrong variable declaration In the attached file.
The first part in the file is the IL code with C#, the second part is the ILAst and at the end is the C# Code of the faulty function.
In the C# part I've comment the faulty declaration, calculation and usage of the variable d, num5 and d2. I illustrated the problem in the simplified code inserted below. In the ILAst part the variable d, num5 and d2 are declared and inititalized with "0" outside the foreach loop. In the wrong C# code the calculation is done and will be cleared in the following loop. In the following "else if" block the variable d, num5 and d2 are always "0", the correct calculates values from the previous loop are lost.
I hope my description was helpful.
Yours
Stefan
Wrong variable declaration.txt
The text was updated successfully, but these errors were encountered: