08-14-2024, 05:50 PM
The problem you're seeing goes waaay back to version 2.0 of QB64.
The issue is basically this one:
FUNCTION foo (x)
foo = 1
IF x = 3 then foo = foo + 1
END FUNCTION
Now, the problem there is that prior to version 2.0, the above worked perfectly fine. After the changes in version so, that foo I've highlighted is now a *recursive function* call. It's going to error out on you.
You'll need to update your libraries to not do such things anymore, so they'll continue to compile and work on newer versions for you. Example:
FUNCTION foo (x)
temp_foo = 1
IF x = 3 then temp_foo = temp_foo + 1
foo = temp_foo
END FUNCTION
Function names *must* remain on the left side of the equal sign now, or else they're a recursive call to the function again.
The issue is basically this one:
FUNCTION foo (x)
foo = 1
IF x = 3 then foo = foo + 1
END FUNCTION
Now, the problem there is that prior to version 2.0, the above worked perfectly fine. After the changes in version so, that foo I've highlighted is now a *recursive function* call. It's going to error out on you.
You'll need to update your libraries to not do such things anymore, so they'll continue to compile and work on newer versions for you. Example:
FUNCTION foo (x)
temp_foo = 1
IF x = 3 then temp_foo = temp_foo + 1
foo = temp_foo
END FUNCTION
Function names *must* remain on the left side of the equal sign now, or else they're a recursive call to the function again.