acumenprog
New Member
I am a Progress programmer, exclusively programming in the NxTrend/Infor SX.e application. Because of this, I don't always know which quirks and questions are related to Progress itself, or to the development tools available in the AppBuilder (which apparently are quite different from pure Progress code). I have seen this problem numerous times and wanted to know if anyone had some input.
Sometimes, I look at a piece of code that is not working, and I absolutely cannot find a problem in the code. So I start putting in messages so I can follow where the code is going. Eventually I isolate the part that is being skipped, even though I think that from reading the code, it shouldn't be. So then I put messages between almost every line, sending values to the screen, etc., so I can pinpoint exactly where the program is finding the problem. At that point, all the messages show (meaning every line is being read, none skipped)... and voila! the program works! It's almost as if it wasn't able to "see" that the code was there until I put in the messages, but know it realizes, so it runs that portion. This "memory of code" then sticks, even after I remove all the messages -- no changes at all to the "before" and "after" code, but the "after" code works. This is so frustrating, because you naturally assume that something is wrong with your code, so you can spend hours trying to fix it before you discover that you need "that message trick" again.
Does anybody know why this happens, and if there is a way to avoid it?
Thanks!
Sometimes, I look at a piece of code that is not working, and I absolutely cannot find a problem in the code. So I start putting in messages so I can follow where the code is going. Eventually I isolate the part that is being skipped, even though I think that from reading the code, it shouldn't be. So then I put messages between almost every line, sending values to the screen, etc., so I can pinpoint exactly where the program is finding the problem. At that point, all the messages show (meaning every line is being read, none skipped)... and voila! the program works! It's almost as if it wasn't able to "see" that the code was there until I put in the messages, but know it realizes, so it runs that portion. This "memory of code" then sticks, even after I remove all the messages -- no changes at all to the "before" and "after" code, but the "after" code works. This is so frustrating, because you naturally assume that something is wrong with your code, so you can spend hours trying to fix it before you discover that you need "that message trick" again.
Does anybody know why this happens, and if there is a way to avoid it?
Thanks!