I have just wasted some time tracking down a weird bug/feature/gotcha in E-Prime 2.
For example the code below is trying to detect a press of the space bar.
Debug.Print "Response is " & GetResponse.RESP
if GetResponse.RESP = "SPACE" then
Debug.Print "Space bar pressed"
else
Debug.Print "Something else pressed"
End if
In the debug window you can see:
Response is SPACE
Something else pressed
Why is this so?
Because the Debug output window HIDES SOME CHARACTERS OF THE OUTPUT.
The actual RESP text is "{SPACE}", but the Debug window silently cleans it up to "SPACE" which means that any text comparison you do based on the information you have from the Debug window will be wrong.
If you want to test this try:
Debug.Print "Length of RESP is " & Len(GetResponse.RESP)
Debug.Print "Response is " & GetResponse.RESP
You will see that the length of the string is two characters longer than the string that is output. I.e
Length of RESP is 7
Response is SPACE
Is this a bug, feature or gotcha? You decide. Really depends how much of your valuable time you waste trying to figure it out.
How I have missed being able to set breakpoints or inspect the stack or any basic debugging tools in Eprime....
No comments:
Post a Comment