I have a “showvariables” bug to report. Has this been reported before?
Here are the last few lines of a lengthy procedure:
fg_showmacro = «Macro Text»
displaydata fg_showmacro, myformat
The displaydata command correctly shows the value of the variable, but a textDisplay object on a form DOES NOT UPDATE the variable. In trying to experiment why this might be, I did the following. I went to the TextDisplay object, confirmed that the “Formula” for the object was entered correctly (it was), deleted the last 3 characters, and re-entered them. That’s all. I just re-entered the same formula.
From that point on, the procedure works correctly.
There is obviously no way for me to replicate this situation, and I know what some of you will think (he must have mis-spelled the variable in the first place). But no, that variable was entered correctly, it worked correctly in other procedures of the same file, and was checked diligently.
If anyone else in future has an issue with showvariables not updating properly, try deleting the formula and re-enterring it in the textdisplay object. It may work for you as it did with me. Why that should work is a complete mystery. But it did.
You’re correct, that’s exactly what I think. Sorry. Or, I think in your experiments you did something else that you’re not remembering.
Under the hood, showvariables uses the same code used for displaying anything on a form, including fields from the database. If this code was unreliable in any way, it would have shown up years ago. This code is literally used thousands of times per day by any Panorama user that uses forms.
Can I ask you what motivated you to try this as a remedy? Why 3 characters rather than 2 or all 11 of them?
For future reference, if you are having issues with a formula in a graphics object, the Object Value dialog is super helpful. This is a new feature in 10.2.
No need to be sorry, Jim. That’s exactly what I would think in this situation.
The reason that I deleted only three characters was that I said to myself as I started the deletions - " This is crazy. The textdisplay object is giving me the correct value when other procedures in the same database execute. So it CAN’T be that the formula is typed incorrectly". So I stopped deleting, and added back the characters I had already deleted. I had intended to retype the entire formula.
But obviously I must have changed something else. What that was I have no idea. Just to further complicate the matter - when I was having the trouble, I noted that if I switched from “Data View” to Graphics View", and then back to “Data View”, the object updated itself. That’s another reason I figured it couldn’t be a mis-spelled variable in the formula tab.
The database is working now, so there is no remaining issue. I’ll just chalk this up to another of the grand mysteries of life, and move on. The fact that no one else has experience this is further proof that it is my error to blame. I’m sorry to have taken up your time.
Are you sure the form was in Data View when you ran the procedure? Form objects don’t update when in Graphics View. This includes showvariables. You have to make sure that the form is in Data View before you run any procedure that modifies the data displayed on the form.
then back to “Data View”, the object updated itself.
When you switch back to Data View, Panorama updates ALL objects on the form.
It does sound like you had the formula spelled correctly. Now it seems most likely to me that the form was in Graphics Mode when you ran your procedure with the showvariables statement.