Peter’s comments are spot on.
The tagparameter( documentation says
each tag parameter takes the form name=value
I guess it doesn’t say so explicitly, but the form shown has no spaces, and in fact no spaces are allowed.
If you do put in an extra space, the tagparameter( function will ignore whatever is after the space. So
name= value
will cause the value to actually be "", not "value".
And that’s exactly what happened to Robert
form= "Duplicate Patient"
is specifying that the form name is empty. Notice that the error message has two spaces between form and does not exist - normally the specified form name would be there but the form name is empty, so you just get the two spaces.
If I was starting from scratch, I would no longer use this technique for options, instead I would specify the options with a dictionary, like this:
rundialog initializedictionary(
"Form","Duplicate Patient?",
"Height",120,
"Width",400)
I think this would be a bit nicer than the current system. However, when rundialog was first written, Panorama didn’t have dictionaries, so obviously I didn’t write it that way. The current system is a bit picky about the syntax, but it works pretty well.
should it say ‘OPENDIALOG’?
Panorama has hundreds of statements that are written in Panorama code. These can generate errors on that internal code, so that the error message refers to the internal code, not the statement that you wrote. In a few cases I’ve added extra error trapping so that the error message doesn’t mention the internal code. But to do that across the board would take a minimum of months of work. If Panorama was a Microsoft product, and millions of people were using it, that investment might make sense. But for statements that are only used by a few dozen advanced Panorama users, there just isn’t the budget for that.
BitBucket but I think that option is no more.
The BitBucket issue tracker was open to the general public for many years, and I liked it that way. Not many programs leave their issue tracker wide open to anyone, but I like collaborating with the community. Unfortunately, a few years ago the issue tracker suddenly got attacked by spammers who were adding multiple garbage issues per day - not even in English, as I recall. Compounding the problem, BitBucket had absolutely no tools available to combat spam. The BitBucket issue tracker only has two modes - wide open where anyone can access (and spam) the system, or private. So I was forced to make it private. I think this forum serves the community better anyway, and I transfer issues into BitBucket as needed, even though you can’t see that anymore.