The GET_APPLICATION_PROPERTY built-in function returns information about your application, allowing you to react dynamically at runtime based on the settings of one or more of these variables:
DISPLAY_HEIGHT and DISPLAY_WIDTH: Specifies how big the current display is. The unit depends on how you have set up the form coordinate system.
OPERATING_SYSTEM: Specifies the name of the platform on which the application currently is running (MSWINDOWS, WIN32COMMON, SunOS, VMS, UNIX, or HP-UX).
USER_INTERFACE: Specifies the name of the user interface technology on which the application is currently running (WEB, MOTIF, MSWINDOWS, MSWINDOWS32, PM, X, VARCHAR2MODE, BLOCKMODE, or UNKNOWN).
Depending on the value of a variable, you can dynamically hide objects that are not available on that deployment platform, reposition other objects to take up that space and, if necessary, alter the attributes of an object to suit the standards on that deployment platform.
To prevent users from seeing placeholders on platforms that do not support OLE, VBX and ActiveX objects, you can put these objects in a separate window invoked from the menu or a button and dynamically enable/disable the menu item or button. Or you can use this code fragment to hide/show the port-specific objects and reposition other objects to take their place:
WHEN-NEW-FORM-INSTANCE trigger: declare ui varchar2(15) ; begin ui := get_application_property (user_interface); if ui = 'CHARMODE' or ui = 'MOTIF' then set_item_property ('VBXOBJECT1', displayed, property_false); set_item_property ('OLEOBJECT1', displayed, property_false); set_item_property ('TEXTITEM1', position, 43, 4); end if; end;