The HyperCard Player is designed to allow the user to view or edit the contents of the stack. Therefore, items that would allow the user to modify the HyperCard environment in any way have been removed or changed. The items removed or changed are listed below:
* The New Stack... menu item
* Many of the printing menu items
* The Icon Editor
* The Objects menu
* The Message box
* Error Strings
* The maximum user level
* The script editor
* The variable and message watchers
* Home stack
New Stack Menu Item
-------------------
Because of the ability to embed a stack into the HyperCard Player, the creation of a new stack (through the use of the menu item or through the command "create") behaves differently than HyperCard 2.1:
* The New Stack menu item is disabled in the HyperCard Player.
* Re-enabling this menu item will restore its HyperCard 2.1 functionality.
* All of the scriptable HyperCard 2.1 features of this menu item remain
fully accessible from scripts.
Note: For additional information on this Embedding" note in the "Some Unique Features" section of the Player Tools stack.
Print Stack, Print Field, and Print Report
------------------------------------------
* These menu items are disabled in the HyperCard Player.
* These menu items can be re-enabled and given new menu messages
(re-enabling these items WILL NOT restore the original HyperCard 2.1
functionality).
* All of the scriptable printing features of HyperCard 2.1 remain
accessible from scripts.
* The Print Stack, Print Field, and Print Report dialogs and the code to
support the dialogs have been removed from the Player.
Icon Editor
-----------
* The HyperCard Player does not include an Icon Editor.
* The Icon menu item is disabled.
* This menu item can be re-enabled and given a new menu message
(re-enabling this item WILL NOT restore the original HyperCard 2.1
functionality).
Objects Menu
------------
Since the HyperCard Player does not provide the user with the tools or facilities to create or modify objects, this menu has been removed.
* As in HyperCard 2.1, user level 3, there is not an Objects menu.
* All of the menu items in this menu CAN be accessed and changed from
script.
* The dialogs used by the "info" menu items cannot be accessed, but the
attributes contained in those dialogs can be set via script.
Message Box
-----------
The functionality of the Message box has been changed to prevent the HyperCard Player user from scripting via the Message box.
* The Message box has been simplified so that only the Find command can be
executed.
* All HyperCard 2.1 forms of Find can still be used (e.g., Find whole, Find
string, etc.).
* Any other evaluation or command entered and sent through the Message box
will cause the HyperCard Player to beep.
Error Messages
--------------
Because the HyperCard Player is designed to allow the user to view stacks as easily as possible, the standard method of error notification has been changed. Instead of full error messages (the type that are received in HyperCard 2.1) being sent to the user, a simplified message is sent when using the Player. The error information consists of a reference to an error string list and includes the appropriate string number within that list.
For a complete discussion see the "Info" section of the Player Tools stack for additional information.
User Level
----------
Since the HyperCard Player does not include facilities for authoring stacks, the functionality relating to userLevel has changed.
* From a user's standpoint, it will appear that the user level is set and
restricted to user level 3 (with a few menu items disabled).
* From a functional standpoint, scripts have nearly all of the features of
HyperCard user level 4 (minus a few menu items).
* The maximum user level that can now be set is user level 4 ("set
userLevel to 5" will actually set the user level to 4).
* Once a script terminates, if the tool chosen in script is either the
button or field tool, the Player changes the tool back to the Browse tool.
Script Editor
-------------
Because the HyperCard Player does not provide any facilities for authoring or scripting, the script editor and all of its related functionality has been removed.
* The Player does not include a script editor.
* All script editor support has been removed (including XCMD callbacks).
The ability to add a script editor is not supported.
* All script editor callbacks return an error. The result field will
contain an integer result code of 2, because the callback is not
implemented.
Note: The "get script" and "set script" commands have all of their HyperCard 2.1 functionality. However, the script indentation code has been removed along with the "editor" code. When you "get" a script, it appears left-justified, WITHOUT indentation.
Variable Watcher and Message Watcher
------------------------------------
Because the HyperCard Player does not provide any facilities for authoring, scripting or debugging, the variable watcher, message watcher and all of their related functionality has been removed.
* The Player does not include either watcher.
* All watcher support, including the XCMD callbacks, has been removed. The
ability to add a watcher is not supported.
* All watcher callbacks return an error. The result field will contain an
integer result code of 2, because the callback is not implemented.
Home Stack
----------
The Home stack that is provided with the HyperCard Player has been simplified to reflect some of the changes made in the Player.
* The size of the Player Home stack is now 25K.
* All "Authoring" utility handlers have been removed (searchscript, c, b, s).
* This Home does not use the FontExists XCMD.
* This Home does not add or maintain any Home menus.
* This Home does not put any stacks "in use".
* The Preferences card has only three user level settings.
This article is adapted from the Claris Tech Info database.