info("procedurestack")
The info(“procedurestack”) function returns the contents of Panorama’s procedure call stack.
Description
This function returns the contents of Panorama’s procedure call stack. The call stack contains information about what procedures called the current procedure. In other words, if the current procedure was called by procedure alpha which in turn was called by procedure bravo, this function can tell you that.
The result of this procedure is a carriage return delimited text array with one line per procedure in the stack (or possibily more than one line if shortcall statements have been used). Each line of the array contains six columns separated by tabs:
Procedure Name
Database Name
Trigger
Error Start Position
Error End Position
Procedure Source Code (line breaks changed to vertical tabs)
Note: At this time, the trigger column is not supported.
The source code position is the location in this procedure where execution is pending; this is usually the spot of a call, shortcall, farcall, or execute statement, or a custom statement. The location is specified by the number of characters from the front of the procedure, with the first character numbered at zero.
In some cases (for example the execute statement and execute( function, there really is no valid procedure name. In those cases the name will show the name of the statement or function that contains the procedure definition, preceded by a lightning bolt symbol.
See Also
- dbinfo( -- gets information about a database: what forms it contains, what fields, what flash art pictures, etc.
- fileglobalvalue( -- accesses a fileglobal or permanent variable from other databases.
- getfieldproperties( -- returns a dictionary containing all of the properties of the specified field. (See the setfieldproperties statement if you want to change one or more field properties.)
- getformoption( -- returns information about a form.
- getprocedureoption( -- returns information about a procedure.
- getproceduretext( -- gets the contents (source code) of a procedure.
- globalvalue( -- returns the value of a global variable.
- info( -- returns miscellaneous bits of information about the system, the current database, the current window, etc.
- info("accessorypanelwidth") -- returns the current width of the current window's accessory panel, if any.
- info("activeobjectid") -- returns the object ID of the currently active text editor or text list object, if any.
- info("activesuperobject") -- returns the name of the currently active text editor or word processor object, if any.
- info("angleunits") -- returns the current angular measurement units.
- info("applicationsfolder") -- returns the path to the current user's Applications folder.
- info("applicationsupportfolder") -- returns the path to the current user's Application Support folder (inside the Library folder).
- info("arraybuildstatus") -- returns the status of the most recently executed superarraybuild statement.
- info("availablescreenrectangle") -- returns a rectangle defining the edges of the main screen, after deducting for the space of the menu bar and dock (if visible).
- info("bof") -- returns true if the active record is currently on the first visible (selected) record.
- info("buttonrectangle") -- returns a rectangle defining the edges of the most recently clicked button.
- info("cachefolder") -- returns the path to the current user's Cache folder (in the Library folder).
- info("canmodifydatabasedesign") -- returns true if the user has permission to modify the database design.
- info("canusestandardui") -- returns true if the user has permission to use standard Panorama UI when using this database.
- info("click") -- returns the location of the last mouse click in screen relative coordinates.
- info("clickedobjectid") -- returns the object ID of the clicked object.
- info("clickedobjectname") -- returns the name of the button that was just clicked.
- info("clickedwindownumber") -- returns the window number of that was just clicked.
- info("clonewindow") -- returns true if the current window was opened as a "clone" window.
- info("collapsible") -- checks to see if the current record is collapsible.
- info("countrycode") -- returns the country code for the current location.
- info("csvseparator") -- returns the current CSV field separator character (comma or semicolon).
- info("currencycode") -- returns the currency code for the current location.
- info("currencysymbol") -- returns the currency symbol for the current location.
- info("customfunctions") -- returns a list of all available custom functions.
- info("customstatements") -- returns a list of all available custom statements.
- info("databasefilename") -- returns the name of the current database.
- info("databasename") -- returns the name of the current database excluding any filename extension (if any).
- info("datasheetwindownumbers") -- returns the unique ID numbers of all open data sheet windows.
- info("datatype") -- returns the data type of the current field.
- info("decimalseparator") -- returns the current decimal separator character (period or comma).
- info("defaultdatepattern") -- returns the default date pattern used for displaying dates.
- info("defaultmaxdatasheetcolumns") -- default maximum number of allowed data sheet columns.
- info("defaultvoice") -- returns the current default system voice.
- info("desktopfolder") -- returns the path to the user's desktop folder.
- info("dialogsheet") -- returns true if the currently active window is a dialog sheet.
- info("dialogtrigger") -- returns the name of the last button pressed in an alert or dialog.
- info("disablebackgroundsearch") -- returns true if all background searches have been disabled.
- info("disabledfields") -- returns a list of disabled fields in the current database (fields that cannot be edited).
- info("documentsfolder") -- returns the path to the current user's Documents folder.
- info("downloadsfolder") -- returns the path to the current user's Downloads folder.
- info("dropdatabase") -- returns the name of the database that contains the form data was dropped on.
- info("dropfiles") -- returns a list of files dragged onto a *Drag Receiver* form object (see Drag and Drop).
- info("dropform") -- returns the name of the form data was dropped on.
- info("dropobject") -- returns the name of the object that data was dropped on.
- info("droptext") -- returns text dragged onto a *Drag Receiver* form object (see Drag and Drop).
- info("droptypes") -- returns a list of all the data types dragged onto a *Drag Receiver* form object (see Drag and Drop).
- info("dropvcard") -- returns the text of any VCards dragged onto a *Drag Receiver* form object (see Drag and Drop).
- info("dropwindow") -- returns the name of the window that contains the form data was dropped on.
- info("dropwindownumber") -- returns the number of the window that contains the form data was dropped on.
- info("empty") -- returns true or false depending on the result of the last select operation. If no records were selected the function will return true, otherwise it will return false.
- info("enabledfields") -- returns a list of enabled fields in the current database (fields that can be edited).
- info("eof") -- returns true if the active record is currently the last visible (selected) record.
- info("error") -- returns the most recent error message.
- info("errorparameter") -- returns the parameter that caused a runtime error.
- info("errorstack") -- returns the contents of the procedure stack after an error.
- info("errorstatement") -- returns the name of the statement that Panorama was trying to run at the time an error occurred.
- info("eventtype") -- returns the type of the last event (mouse click, keyboard press, etc.).
- info("executeerrorsource") -- can be used in Error Handling code when an error occurs in code running via the execute statement or its siblings.
- info("expandable") -- checks to see if the current record is expandable.
- info("expressionstacksize") -- returns the fake size of expression stack.
- info("fieldcount") -- returns the number of fields in the current database.
- info("fieldname") -- returns the name of the current field.
- info("fieldnumber") -- returns the number of the current field (starting from 1).
- info("fields") -- returns a carriage return delimited list of fields in the current database.
- info("files") -- returns a list of all open database files.
- info("filesystemmonitors") -- lists the active file system monitors.
- info("filevariables") -- builds a carriage return separated text array containing a list of the currently allocated fileglobal variables in the current database.
- info("focusobject") -- returns the name of the currently active text editor or word processor object, if any.
- info("focusobjectid") -- returns the object ID of the currently active text editor or text list object, if any.
- info("foldersepchar") -- returns the separator character used between folders.
- info("fonts") -- returns a list of all fonts installed on this computer.
- info("formevent") -- returns the last event that occurred to the current form.
- info("formname") -- returns the name of the current form.
- info("formwindownumbers") -- returns the unique ID numbers of all open form windows.
- info("found") -- returns true or false depending on whether the last *find* or *next* statement was successful.
- info("globalvariables") -- builds a carriage return separated text array containing a list of the currently allocated global variables.
- info("guid") -- returns a unique identifier string.
- info("hiddenfields") -- returns a carriage return delimited list of fields that are currently hidden in the current data sheet.
- info("horizontalscrollbar") -- returns true if the current window's horizontal scrollbar is enabled, false if it is disabled.
- info("javascriptvalue") -- returns the value passed from JavaScript code in a web browser object.
- info("keyboard") -- returns the last key that was pressed.
- info("keycode") -- returns a special numeric code that represents the last key that was pressed.
- info("labels") -- lists the labels in the current procedure.
- info("languagecode") -- returns the language code for the current location.
- info("libraryfolder") -- returns the path to the current user's Library folder.
- info("localvariables") -- builds a carriage return separated text array containing a list of the currently allocated local variables.
- info("loggedinaccountemail") -- returns the currently logged in account ID (email address).
- info("loggedinaccountrole") -- returns the currently logged in account role.
- info("magnification") -- returns the current magnification of the current form.
- info("matrixcell") -- returns the current cell number within a matrix object.
- info("matrixcelldata") -- returns the data associated with the current matrix object cell.
- info("matrixcellrecordid") -- returns the record id of the cell in a matrix that was clicked on.
- info("matrixcellselected") -- returns the selection status of the current matrix object cell.
- info("matrixclickedframeform") -- returns the form that contains the matrix frame, or `""` if the current form contains the frame.
- info("matrixclickedobjectid") -- returns the object id of the object in a matrix that was clicked on (or zero if none).
- info("matrixcolumn") -- returns the current column number within a matrix object.
- info("matrixdata") -- returns the data associated with the current matrix object.
- info("matrixname") -- returns the name of the matrix object being drawn, if any.
- info("matrixrow") -- returns the current row number within a matrix object.
- info("matrixseparator") -- function returns the separator associated with the current matrix.
- info("measurementsystem") -- returns the measurement system for the current location.
- info("menuidentifier") -- returns the identifier of the most recently chosen menu item (if any).
- info("milliseconds") -- returns the number of milliseconds (1/1000th second) since the system started up.
- info("modaldialogopen") -- returns true if a modal dialog window is currently open.
- info("modifiedfield") -- returns the name of the field that was just modified.
- info("mousedown") -- returns true or false depending on whether the mouse is currently down.
- info("moviesfolder") -- returns the path to the current user's Movies folder.
- info("musicfolder") -- returns the path to the current user's Music folder.
- info("noshow") -- returns true if noshow is currently turned on, false if it is not.
- info("notification") -- returns information about the just clicked notification.
- info("osversion") -- returns the operating system version and build number.
- info("pagecount") -- calculates the total number of pages that will be printed.
- info("pagenumber") -- returns the current report page number.
- info("pagesetuporientation") -- returns the printing page orientation for the current database.
- info("pagesetuppaperheight") -- returns the printing paper height for the current database.
- info("pagesetuppaperwidth") -- returns the printing paper width for the current database.
- info("pagesetupscale") -- returns the printing scale factor for the current database.
- info("panoramafolder") -- returns the location of the folder containing the currently running copy of Panorama.
- info("panoramaname") -- returns the name of the currently running copy of Panorama.
- info("panoramauptime") -- returns the number of seconds since Panorama launched.
- info("parameters") -- returns the number of parameters passed to a subroutine.
- info("picturesfolder") -- returns the path to the current user's Pictures folder.
- info("posixtasks") -- list of POSIX shell tasks running in the background.
- info("preferences") -- returns a list of all currently active preference settings.
- info("printsequence") -- returns the record sequence number of the record being printed.
- info("proceduredatabase") -- returns the name of the database that contains the currently running procedure.
- info("procedurename") -- returns the name of the currently running procedure.
- info("procedurewindownumbers") -- returns the unique ID numbers of all open procedure windows.
- info("publicfolder") -- returns the path to the current user's Public folder.
- info("quitinprogress") -- returns true if Panorama is in the process of quitting.
- info("ram") -- returns the amount of physical RAM in this computer.
- info("rawdatabasedata") -- returns the binary data of the current database.
- info("records") -- returns the total number of records in the current database.
- info("runningatomic") -- returns true if the current procedure is running as an "atomic" procedure.
- info("runninghandler") -- returns true if the current procedure is running as a "handler" procedure.
- info("screenrectangle") -- returns a rectangle defining the edges of the main screen.
- info("searchformula") -- returns the most recent search formula used in a *find* statement, if any.
- info("selected") -- returns the number of selected records in the current database.
- info("serverconnection") -- returns true if the currently active database successfully connected to the server when it opened.
- info("serverconnectionstatus") -- returns the status of the connection between this database and the server.
- info("serverrecordid") -- returns the unique ID number for the current record.
- info("serverrecordts") -- returns the internal time stamp associated with the current record.
- info("serverupdate") -- returns true if the server update option is currently turned on (this is the default).
- info("showlater") -- determines whether or not Panorama is currently deferring display.
- info("speaking") -- returns true if talking is occuring right now.
- info("speechrate") -- returns the current Panorama speech rate (words per minute).
- info("speechvoice") -- returns the current default system voice.
- info("speechvolume") -- returns the current Panorama speech volume.
- info("stopped") -- returns true or false depending on the whether the last uprecord, downrecord, left or right statement succeeded or failed.
- info("summary") -- returns the summary level of the current record, from 0 (data record) to 7.
- info("taperecorder") -- returns information about the current procedure recording (if any).
- info("tempfolder") -- returns the path to the current user's temporary folder (for files you plan to use only for a short time).
- info("texteditortrigger") -- returns the reason why a Text Editor object triggered a procedure.
- info("thousandsseparator") -- returns the current thousands separator character (period or comma).
- info("tickcount") -- returns the number of ticks (1/60th second) since the system started up.
- info("timelimitremaining") -- returns the amount of time available (in seconds) before a loop will time out.
- info("toolbar") -- returns true if the current window's toolbar is visible, false if it is hidden.
- info("toolbarvisible") -- returns true if the current window has a visible tool bar.
- info("trigger") -- returns information about how the current procedure was triggered.
- info("typeofwindow") -- determines what type of view the current window contains.
- info("unixusername") -- returns the short user name of the logged in user.
- info("unsharedrecordid") -- returns the minimum ID for unshared records.
- info("uptime") -- returns the number of seconds since the computer was last booted.
- info("user") -- returns the name of the user of this computer.
- info("userfolder") -- returns the path to the current user's home folder.
- info("verticalscrollbar") -- returns true if the current window's vertical scrollbar is enabled, false if it is disabled.
- info("visible") -- returns true if the current record is visible and false if it is invisible.
- info("visiblefields") -- returns a carriage return delimited list of fields that are currently visible in the current data sheet.
- info("voices") -- returns a list of available speech synthesis voices on this system.
- info("volumes") -- returns a list of all of the currently mounted volumes (disks) on the computer.
- info("webbrowserlinklabel") -- returns the url of the link right clicked in a Web Browser object.
- info("webbrowserlinkurl") -- returns the url of the link right clicked in a Web Browser object.
- info("windowdepth") -- returns the color depth of the current window.
- info("windowname") -- returns the name of the current window.
- info("windownumber") -- returns the unique ID number of the current window.
- info("windownumbers") -- returns the unique ID numbers of all open windows.
- info("windowoptions") -- returns the names of any currently enabled window options,
- info("windowrectangle") -- returns a rectangle defining the edges of the current window. The rectangle is in screen relative coordinates.
- info("windows") -- builds a carriage return separated text array containing a list of all the currently open windows.
- info("windowtype") -- returns a numeric value based on what type of view the current window contains.
- info("windowvariables") -- returns a carriage return separated text array listing the windowglobal variables defined for the current window.
- info("windowview") -- determines what type of view the current window contains.
- localvalue( -- returns the value of a local variable.
- parameter( -- is used to transfer data between a main procedure and a subroutine.
- scopes( -- returns the current scope of a variable, as well as any hidden scopes.
- scopevalue( -- returns the value of a variable in the specified scope.
- setdatabaseoptions -- modifies one or more properties of a database.
- setformoptions -- modifies one or more properties of a form (name, viewing mode, etc.).
- setprocedureoptions -- modifies one or more properties of a procedure (source code, Action menu options, etc.).
- windowglobalvalue( -- accesses a windowglobal variable from other windows.
History
10.0.001 | Updated | Added the Error End Position and Procedure Source Code to the output of this function. |
10.0 | Updated | Carried over from Panorama 6.0, but now includes information from execute and shortcall statements. |