Panorama X 10.2.0 b22 Build 3846 Release Notes

A new version is now available. If you’ve already installed b18 or later, you can simply choose Panorama>Check for Updates to install this update. If Panorama isn’t currently running, it will automatically offer to download b22 when you launch PanoramaX.

If you haven’t installed b18 yet, you’ll have to use the Download Assistant as described in this previous post.

Changes in this release include:

  • New Object Value dialog (Graphics Mode) displays the raw text result of formulas embedded in the selected object. This makes it much easier to diagnose formula problems in a graphic object, especially graphic objects that don’t normally display the formula result (Image Display, Web Browser, Popup Menu, etc.) See Diagnosing a Formula embedded in a Form Object.
  • When you open a database, Panorama normally opens up the same windows that were open the last time the database was used, so you can get right back to work where you left off. However, you might want to set up a database so that it always opens to certain specific windows, no matter what windows you were using before. You can now use the Database Options “Initial Windows” list to explicitly specify which windows should be opened when the database is opened. You can also now specify “Initial Dimensions” for each form, if specified, the form will open to these dimensions instead of to its previous location. See Newly Opened Database Window Arrangement to learn how to set up the exact arrangement and positions of windows that appear when a database is opened and when a form is opened.
  • New instrumentation options to record all procedure triggers (both explicit and implicit) and to record control flow statements (call, farcall, execute, return, etc.). If some code is malfunctioning but you’re not sure where, this helps you to quickly track down what section of code is causing the problem. See Including Procedure Triggers in the Instrumentation Log at the bottom of the Debug Instrumentation help page.
  • New diagnostic mode allows you to open a database but temporarily disable all implicitly triggered code (.Initialize, .CurrentRecord, .ModifyRecord, etc.). This allows you to work on the database even if your implicit code has an error or problem that would normally interfere with using the database. See Opening a Database in Diagnostic Mode.
  • The define statement will now work with global variables.
  • New implicit form actions: formGRAPHICSMODE: and formDATAMODE: allow custom code to run when switching in and out of graphics mode. Please keep your code short and don’t make it do something weird!
  • It is now impossible to set a procedure name to multiple lines of text (it used to be possible to do this by pasting). Now, if you paste in a multiple line value only the first line will be used. Note that the extra lines are not stripped out until you press Enter or click outside the procedure name editing area.
  • The Relation dialog now correctly reports an error if you test the relation but the relation is not set up properly (for example it is missing a key).
  • Relational operations no longer crash if the key field hasn’t been specified (instead they now generate a proper error message).
  • Added key icon to table headers in the Relations dialog
  • Added instrumentation to the CustomStatement class. This can log all custom statements, however, if the first line of code in a custom statement procedure is the classified statement or the hush statement, the custom statement will not be logged.
  • Added instrumentation to various control flow statements – Call, Callwithin, Farcall, FarCallWithin, Goto, Execute, Return, Shortcall, Stop. Note that if a subroutine is called that the user isn’t authorized to see, the instrumentation log will show REDACTED instead of the actual procedure name (applies to various call statements).
  • The Form Event code in the Help window now uses a label (formOPEN:) instead of the old trigger system. So it won’t run any code for activation or resizing. Side effect - the Help window no longer uses any CPU time when it is not the frontmost window.

Looks good. I did encounter an updating error though. With nothing but the Update window open, when I clicked on the Install and Relaunch I got the following error. It still got the job completed when I clicked on Install and Relaunch, which had remained open.

This newly opened database window arrangement is terrific, opening files much faster than using my rather sluggish code in .Initialize to close windows and open form/s (without flashing!!).
As my sites and users have different size screens might it be possible for the initial dimensions setting to include the option to centre the form on screen?

I had this error as well.

I cannot duplicate this problem. Let me see if I understand the sequence, I think this is what you are saying happened:

  • With the Panorama Software Update window open, you clicked the Download button.
  • You then pressed the Install Update button.
  • An alert appeared asking you if you wanted to Install Update and Relaunch?
  • You pressed the Relaunch button.
  • At this point, the error wizard displayed the error
  • You closed the Error Wizard.
  • You pressed the Install Update button again.
  • The alert again appeared asking if you wanted to Install Update and Relaunch?
  • You pressed the Relaunch button again.
  • This time it worked.

Am I understanding this sequence correctly?

Or maybe you are saying the alert never went away? I don’t see how that could be possible.

Also, am I correct in assuming that you were upgrading from b21, and not some earlier version?

Note: I am pretty sure that this error would not cause a problem with the install.

Since two people encountered this error, I’m wondering what everyone elses experience was. Please let me know whether you encountered an error when performing the install.

  • No Error
  • Encountered Error
0 voters

It’s not possible at this time. Maybe someday. (Good think I speak Australian so that I know what “centre” is :rofl:)

I lost the battle with the Australian spell checker, which insisted on “centre”, but I got away with .Initialize, which is spelt “initialise” in the rest of the English speaking world. Now let’s talk about dates…

1 Like

No error. 21-10-07@7.53 PM

“spelt”? Now that’s one I’ve not seen before. Grammarly says it’s common outside the US. I guess that’s not a word that’s common in books, which is where I’ve seen centre, colour, etc.

Or if it smelled like smelt?

I updated from b21.

I’m pretty sure the error wizard opened immediately after clicking the Install Update button.

I closed the error wizard and found the unzipped b22 version in the Download folder, and dragged it into the Applications folder.

Craig, unlikely as it may seem, smelled and smelt are indeed both used as past tenses of smell outside North America.

Just updated from b21 to b22 on a new iMac (Big Sur) without incident. Previous update with error was on a MacBook Pro (Mojave).

I did not have to press Install Update again. When I closed the Error Wizard, the Install and Relaunch dialog was still up.

And FWIW, Panorama has been launched solely for doing the update which is why nothing else was open.

On a second computer, when I clicked Install and Relaunch it never relaunched but was installed.

Both machines were running b21 and are on Big Sur.

1 Like

with the new labels for Form Event code does any old code need to be rewritten to that model or will code such as

if info("formevent") match "open"
    beep; or whatever else I'd coded there
endif

still work?

No, it does not need to be rewritten. However, the new method is faster, so I recommend it. In your example the new code would be.

formOPEN:
    beep
    return

The reason why the new method is faster is because with the new method, Panorama can determine whether your code handles the event. If it doesn’t, it doesn’t call the code at all. For example, your example handles “open” events, but not “activate” or “resize” events. But Panorama will still need to run your code for these events, even though all the code will do is waste time.

Excellent. That’s the answer I was hoping for. Nothing urgent: if I do nothing it works no worse than it already works. And when I can find time to do the simple rewrites I can speed it up a bit.