home *** CD-ROM | disk | FTP | other *** search
- There are 4 files in this fix, unZIP them to either a diskette or directory. In order to use these
- files, you will need to either copy them to the ROOT directory of the BOOT drive, and then
- restart your system, or use the Install diskette and ESC to the A: prompt and replace these
- files in your OS2\DLL directory. The changes will then take effect when you reboot your
- system.
-
- The files in the ZIP files are -
-
- REXX.TXT (this file)
- REXX.DLL
- REXXAPI.DLL
- REXXINIT.DLL
- REXXUTIL.DLL
-
- These contain the fixes for APARs PJ03945 and PJ04178, plus the following
- REXXUTIL fixes:
-
- "The SysIni function doesn't release allocated storage when the 'ALL:'
- parameter is used."
-
- "Stack overflow when Rexx is used from PMREXX"
-
- "Cannot close a session when a Rexx program is running"
-
- APAR: PJ04178
-
- Title: VALUE FUNCTION RETURNS INCORRECT VALUE
-
- Problem Description
- The following REXX program produces incorrect output :
-
- /* */
- Stem. = ''
- Key = 'AAA'
- KVal = 'BBB'
- call Test
- Stem.!AAA = ''
- call Test
- exit
-
- Test:
- say
- say 'This should be null: "'Stem.!AAA'"'
- Old = value(('Stem.!'Key, KVal)
- say 'This should be null: "'Old'"'
- say 'This should be BBB: "'Stem.!AAA'"'
- return
-
- -----------------------------------------------
- Initializing Stem. = '' should initialize Stem.!AAA to ''.
- The first time Test is called, in correct output is produced.
-
- ********************
-
- APAR: PJ03945
-
- Title: REXX: VALUE(.."OS2ENVIRONMENT"..) TO SET ENV HOSES PIB INFO.
-
- Problem Description
-
- "RexxStart()" Bug
-
- I use RexxStart() from a "C" program to call a REXX procedure. I have
- recently diagnosed a problem where if I set an environment variable in
- this rexx procedure, the called programs environment is corrupted (as
- a "C" "getenv()" call fails to retrieve a variable that is known to
- exist.
-
- Depending on the change to the environment, I sometimes get an invalid
- value returned in the "pib_pchcmd" field from a "DosGetInfoBlocks()"
- call. This invalid value is the tail part of the new variable value.
- Thinking that the bug may only occur when expanding the size of an
- environment variable or the environment, I tried to shorten the path
- variable, this removed the problem with "pib_pchcmd" being corrupted
- but still caused the "getenv()" to fail.
-
- Note that the "getenv()" does not always fail, it obviously depends
- on the change.
-
- REXXUTIL also contains two new REXX WorkPlace Shell functions,
- SysSetObjectData and SysDestroyObject. See the notes on the
- REXX WorkPlace Shell functions below.
-
- REXX WorkPlace Shell Functions
-
- This section contains 4 pieces of information:
-
- 1) Large block of text containing information that pertains to the subject.
- (TEXT INFORMATION)
- 2) Sample Rexx code to create a folder and program objects in the folder
- (FOLDER.CMD)
- 3) Sample Rexx code to create shadows of objects
- (SHADOW.CMD)
- 4) Sample Rexx code to create a folder, then program object in the folder,
- then place a shadow of the program object on the desktop.
- (FLDSHAD.CMD)
-
- ((BEGIN TEXT INFORMATION))
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Using the REXXUTIL SysCreateObject function
-
- Using V2's REXXUTIL SysCreateObject function one can create various objects;
- like folders, programs, and shadow objects using Rexx. This section for the
- most part includes parameter information which was gathered together from
- various sources of information.
-
- -- Help information regarding the SysCreateObject function of REXXUTIL --
-
- Function: SysCreateObject
- Syntax:
- result=SysCreateObject(classname, title, location <,setup>, <,duplicateflag>)
-
- classname:The name of the object class.
-
- title: The object title.
-
- location: The object location. This can be specified as either a
- descriptive path (for example, OS/2 System Folder\System
- Configuration) or a file system path (for example,
- C:\bin\mytools).
-
- setup: A WinCreateObject setup string.
-
- duplicateflag: This parameter indicates what action should be taken
- when the Setup string specifies an object ID, and an object with
- that object ID already exists. If the setup string does not give
- an object ID, a duplicate object will be created.
-
- result The return code from WinCreateObject. This returns 1 (TRUE) if
- the object was created and 0 (FALSE) if the object was
- not created.
-
- Purpose: Create a new instance of an object class.
-
- --Interesting INI information:-----------------------------------------------
-
- If one views the *.RC files located in your bootdrive:\OS2 directory you
- can learn a lot about the various INI settings and folder structure.
- Review INI.RC and INISYS.RC files, they are used to create your OS2.INI
- and OS2SYS.INI files.
-
- --SysCreateObject / WinCreateObject------------------------------------------
-
- The various fields of the SysCreateObject call map closely with the
- WinCreateObject call.
- /***************************************************************************/
- /* This WinCreateObject function creates an instance of object class */
- /* pszClassName, with title pszTitle, and places the icon and title in the */
- /* location referred to by pszLocation. */
- /***************************************************************************/
- #define INCL_WINWORKPLACE
- #include <os2.h>
-
- PSZ pszClassName;
- PSZ pszTitle;
- PSZ pszSetupString;
- PSZ pszLocation; /* Folder location */
- ULONG ulFlags; /* Creation flags */
- HOBJECT Success; /* Success indicator */
-
- Success = WinCreateObject(pszClassName,
- pszTitle, pszSetupString,
- pszLocation, ulFlags);
-
- -- Help information regarding the SysSetObjectData function of REXXUTIL --
-
- Function: SysSetObjectData
- Syntax:
- result=SysSetObjectData(name, setup)
-
- name: The object name. This can be specified as an object id
- (for example <WP_DESKTOP>) or as a fully specified
- file name.
-
- setup: A WinCreateObject setup string.
-
- Purpose: Alter the settings of an existing object.
-
- See the description of the SysCreateObject location and setup strings
- below for an explanation of the parameters.
-
- -- Help information regarding the SysDestroyObject function of REXXUTIL --
-
- Function: SysDestroyObject
- Syntax:
- result=SysDestroyObject(name)
-
- name: The object name. This can be specified as an object id
- (for example <WP_DESKTOP>) or as a fully specified
- file name.
-
- Purpose: Destroys an existing object.
-
- See the description of the SysCreateObject location parameter
- below for an explanation of the object name.
-
- --Putting it all together----------------------------------------------------
-
- The SysCreateObject parameters are now explained in more detail. (As I
- understand them...)
- Remember Syntax: result = SysCreateObject(classname, title, location <,setup>)
-
- classname:
- A registered object class defined to the system. Of particular interest are
- the WPFolder/WPProgram/WPShadow classes. Note using the sample Rexx code
- included in the SysQueryClassList function help screen one can list all
- of the registered classes:
-
- call SysQueryClassList "list."
- do i = 1 to list.0
- say 'Class' i 'is' list.i
- end
-
- title:
- Easy one, the objects title you want to use. If you wish to break the title
- line use the carat "^" symbol in the title. Ex. 'First line^Second Line'
-
- location:
- You can see above what the online Help information has in regards to this
- field. However by looking at the INI.RC file one can see a use of
- other "locations", such as <WP_DESKTOP>. If this is used as a location
- then your object will reside on the WorkPlace Shell desktop. If you are
- creating a folder or program object you should make sure you use the setup
- string option and give that folder a unique OBJECTID. We'll see how this
- works later.
-
- HINTS: Here are some predefined object ids of system folders. Also if you
- are thinking of placing an object in the Startup Folder <WP_START>,
- make it a shadow of the object.
- <WP_DESKTOP> The Desktop.
- <WP_START> The Startup folder.
- <WP_OS2SYS> The System folder.
- <WP_TEMPS> The Templates folder.
- <WP_CONFIG> The System Setup folder.
- <WP_INFO> The Information folder.
- <WP_DRIVES> The Drives folder.
- <WP_NOWHERE> The hidden folder.
-
- setup:
- This field needs the most explaining, and required the most "snooping".
- The setupstring field contains a series of "keyname=value" pairs separated
- by semi-colons that change the behavior of an object. Each object class
- documents its keynames and the parameters it expects to see.
-
- duplicateflag:
- There are three possible values for this parameter:
- FailIfExists - No object should be created if an object with the
- given object already exists. This is the default.
- ReplaceIfExists - If an object with the given object ID already exists,
- the existing object should be replaced.
- UpdateIfExists - If an object with the given object ID already exists,
- the existing object should be updated with the new information.
- (Only the first character is required/examined)
-
- ALL parameters have safe defaults, so it is never necessary to pass
- unnecessary parameters to an object.
-
- Setup Strings:
- --------------
- Below are both WPFolder and WPProgram setup string parameters.
- Their various key names, values and a short description follow
- each item. The <<xxx>> item is there to give you an idea of what
- settings "page" you would find this information on.
-
- *********************************
- ***WPFolder setup string parms***
- *********************************
- KEYNAME VALUE Description
- -----------------------------------------------------------------------------
- <<View>>
- OPEN ICON Open icon view when object is created.
- TREE Open tree view when object is created.
- DETAILS Open details view when object is created.
- ICONVIEW s1[,s2,...sn] Set icon view to specified style(s).
- TREEVIEW s1[,s2,...sn] Set tree view to specified style(s).
- DETAILSVIEW s1[,s2,...sn] Set details view to specified style(s).
- (styles) FLOWED flowed list items
- NONFLOWED non-flowed list items
- NONGRID non-gridded icon view
- NORMAL normal size icons
- MINI small icons
- INVISIBLE no icons
- LINES lines in tree view
- NOLINES no lines in tree view
- <<Background>>
- BACKGROUND filename Sets the folder background. filename is the
- name of a file in the \OS2\BITMAP directory
- of the boot drive.
- <<File>>
- WORKAREA YES Make the folder a Workarea folder
- <<Window>>
- MINWIN HIDE Views of this object will hide when their
- minimize button is selected.
- VIEWER Views of this object will minimize to the
- minimized window viewer when their minimize
- button is selected.
- DESKTOP Views of this object will minimize to the
- Desktop when their minimize button is selected.
- VIEWBUTTON HIDE Views of this object will have a hide button
- as opposed to a minimize button.
- MINIMIZE Views of this object will have a minimize button
- as opposed to a hide button.
- CONCURRENTVIEW YES New views of this object will be created every
- time the user selects open.
- NO Open views of this object will resurface when
- the user selects open.
- <<General>>
- ICONFILE filename This sets the object's icon.
- ICONRESOURCE id,module This sets the object's icon. 'id' is the
- identity of an icon resource in the 'module'
- dynamic link library (DLL).
- ICONPOS x,y This sets the object's initial icon position.
- The x and y values represent the position in
- the object's folder in percentage coordinates.
- TEMPLATE YES Creates object as a template.
- NO Resets objects template property.
- -----------------------------------------------------------------------------
-
- **********************************
- ***WPProgram setup string parms***
- **********************************
- KEYNAME VALUE Description
- -----------------------------------------------------------------------------
- <<Program>>
- EXENAME filename Sets the name of the program
- PARAMETERS params Sets the parameters list, which may
- include substitution characters
- STARTUPDIR pathname Sets the working directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- <<Sessions>>
- PROGTYPE FULLSCREEN Sets the session type to OS/2 full screen
- PM Sets the session type to PM
- SEPARATEWIN Sets the session type to WIN-OS2 window
- running in a separate VDM.
- VDM Sets the session type to DOS full screen
- WIN Sets the session type to WIN-OS2 full screen
- WINDOWABLEVIO Sets the session type to OS/2 windowed
- WINDOWEDVDM Sets the session type to DOS windowed
- WINDOWEDWIN Sets the session type to WIN-OS2 windowed
- MINIMIZED YES Start program minimized
- MAXIMIZED YES Start program maximized
- NOAUTOCLOSE YES Leaves the window open upon program termination.
- NO Closes the window when the program terminates.
- -DOS Settings-
- NOTES:
- - To change these values you use SET keyname=
- Example: SET DOS_FILES=45;SET DOS_HIGH=1
- Also for some use values of 1 for ON, 0 for off
- Example: SET COM_HOLD=1; (on, default is off)
- To add more than one DOS_DEVICE you need to separate with hex 0A (line-feed)
- Rexx example:
- h0A='0A'X
- setup='...;SET DOS_DEVICE=C:\OS2\MDOS\ANSI.SYS'h0A'C:\OS2\MDOS\EGA.SYS...'
-
- List of DOS Setting fields
- COM_HOLD
- DOS_BACKGROUND_EXECUTION
- DOS_BREAK
- DOS_DEVICE
- DOS_FCBS
- DOS_FCBS_KEEP
- DOS_FILES
- DOS_HIGH
- DOS_LASTDRIVE
- DOS_RMSIZE
- DOS_SHELL
- DOS_STARTUP_DRIVE
- DOS_UMB
- DOS_VERSION
- DPMI_DOS_API
- DPMI_MEMORY_LIMIT
- DPMI_NETWORK_BUFF_SIZE
- DPMI_DOS_API
- EMS_FRAME_LOCATION
- EMS_HIGH_OS_MAP_REGION
- EMS_LOW_OS_MAP_REGION
- EMS_MEMORY_LIMIT
- HW_NOSOUND
- HW_ROM_TO_RAM
- HW_TIMER
- IDLE_SECONDS
- IDLE_SENSITIVITY
- KBD_ALTHOME_BYPASS
- KBD_BUFFER_EXTEND
- KBD_RATE_LOCK
- MEM_INCLUDE_REGIONS
- MEM_EXCLUDE_REGIONS
- MOUSE_EXCLUSIVE_ACCESS
- PRINT_TIMEOUT
- VIDEO_FASTPASTE
- VIDEO_MODE_RESTRICTION
- VIDEO_ONDEMAND_MEMORY
- VIDEO_RETRACE_EMULATION
- VIDEO_ROM_EMULATION
- VIDEO_SWITCH_NOTIFICATION
- VIDEO_WINDOW_REFRESH
- VIDEO_8514A_XGA_IOTRAP
- XMS_HANDLES
- XMS_MEMORY_LIMIT
- XMS_MINIMUM_HMA
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- <<Association>>
- ASSOCFILTER filters Sets the filename filter for files
- associated to this program.
- Multiple filters are separated by commas.
- ASSOCTYPE type Sets the type of files associated to this
- program. Multiple filters are separated
- by commas.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- <<Window>>
- MINWIN HIDE Views of this object will hide when their
- minimize button is selected.
- VIEWER Views of this object will minimize to the
- minimized window viewer when their minimize
- button is selected.
- DESKTOP Views of this object will minimize to the
- Desktop when their minimize button is selected.
- VIEWBUTTON HIDE Views of this object will have a hide button
- as opposed to a minimize button.
- MINIMIZE Views of this object will have a minimize button
- as opposed to a hide button.
- CONCURRENTVIEW YES New views of this object will be created every
- time the user selects open.
- NO Open views of this object will resurface when
- the user selects open.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- <<General>>
- ICONFILE filename This sets the object's icon.
- ICONRESOURCE id,module This sets the object's icon. 'id' is the
- identity of an icon resource in the 'module'
- dynamic link library (DLL).
- ICONPOS x,y This sets the object's initial icon position.
- The x and y values represent the position in
- the object's folder in percentage coordinates.
- TEMPLATE YES Creates object as a template.
- NO Resets objects template property.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- <<Misc>>
- OBJECTID <name> This sets the object's identity. The object
- id will stay with the object even if it is
- moved or renamed. An object id is any unique
- string preceded with a '<' and terminated
- with a '>'. This may also be a real name
- specified as a fully qualified path name.
- HELPPANEL id This sets the object's default help panel.
- HELPLIBRARY filename This sets the help library.
- OPEN SETTINGS Open settings view when object is created.
- DEFAULT Open default view when object is created.
- NODELETE YES Will not allow you to delete the object.
- NOCOPY YES Will not allow you to make a copy.
- NOMOVE YES Will not allow you to move the object to another
- folder, will create shadow on a move.
- NODRAG YES Will not allow you to drag the object.
- NOLINK YES Will not allow you to create a shadow link.
- NOSHADOW YES Will not allow you to create a shadow link.
- NORENAME YES Will not allow you to rename the object.
- NOPRINT YES Will not allow you to print it.
- NOTVISIBLE YES Will not display the object.
- -----------------------------------------------------------------------------
-
- Good Luck....
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- ((END TEXT INFORMATION))
-
- ((BEGIN REXX CMD SAMPLES))
-
- - (FOLDER.CMD) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- /* FOLDER.CMD: Sample code using REXXUTIL's SysCreateObject function */
- /* Builds a folder on the DeskTop and places some program objects in it.*/
-
- /* Load REXXUTIL */
- call rxfuncadd sysloadfuncs, rexxutil, sysloadfuncs
- call sysloadfuncs
-
- /* The basic call is listed next. */
- /* result = SysCreateObject(classname, title, location, setup) */
-
- call SysCls
- Say '';Say 'Using REXXUTILs to Add a Folder and Program Objects...'
-
- Say '';Say 'Press Y to add Test Folder to Desktop...';Say '';
- parse upper value SysGetKey('NOECHO') with key
- If key<>'Y' Then Exit
-
- /* All of the routines pass parameters to a subroutine to perform the call */
- classname='WPFolder'
- title='Test Folder'
- location='<WP_DESKTOP>'
- setup='OBJECTID=<TEST_FOLDER>'
- Call BldObj
-
- Say '';Say 'Now go and open up the folder, currently no items are there.'
- Say 'Press ENTER and we will add a few program objects...'
- key=SysGetKey()
-
- Say 'Place a program object into the folder...';Say '';
- classname='WPProgram'
- title='SYSLEVEL-FULLSCR'
- location='<TEST_FOLDER>'
- setup='PROGTYPE=FULLSCREEN;EXENAME=\OS2\SYSLEVEL.EXE;OBJECTID=<TEST_SYSL>'
- Call BldObj
-
- classname='WPProgram'
- title='CHKDSK-PM'
- location='<TEST_FOLDER>'
- setup='MINIMIZED=YES;PROGTYPE=PM;EXENAME=\OS2\PMCHKDSK.EXE;OBJECTID=<TEST_PMCK>'
- Call BldObj
-
- classname='WPProgram'
- title='SYSLEVEL-VIO'
- location='<TEST_FOLDER>'
- setup='PROGTYPE=WINDOWABLEVIO;EXENAME=\OS2\SYSLEVEL.EXE;OBJECTID=<TEST_SYSLVIO>'
- Call BldObj
-
- classname='WPProgram'
- title='MEM-Fullscreen'
- location='<TEST_FOLDER>'
- setup='PROGTYPE=VDM;EXENAME=\OS2\MDOS\MEM.EXE;PARAMETERS=/?;NOAUTOCLOSE=YES;OBJE
- Call BldObj
-
- classname='WPProgram'
- title='MEM-WindowVDM'
- location='<TEST_FOLDER>'
- setup='PROGTYPE=WINDOWEDVDM;EXENAME=\OS2\MDOS\MEM.EXE;PARAMETERS=/?;NOAUTOCLOSE=
- Call BldObj
-
- Say '';Say 'All done, to remove objects drag to shredder...'
-
- Exit
-
- /* Build Object */
- BldObj:
- call charout ,'Building: 'title
-
- result = SysCreateObject(classname, title, location, setup)
-
- If result=1 Then call charout ,'... Object created!'
- Else call charout ,'... Not created! Return code='result
-
- Say '';
- Return
-
- - (SHADOW.CMD) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- /* SHADOW.CMD: Sample code using REXXUTIL's SysCreateObject function */
- /* Builds shadows on the DeskTop and Startup Folder */
-
- call rxfuncadd sysloadfuncs, rexxutil, sysloadfuncs
- call sysloadfuncs
-
- Call SysCls
- Say '';Say 'Using REXXUTILs to Add Shadow Objects...'
-
- /* The titles and objectid's are found from the \OS2\INI.RC file */
-
- Say '';Say 'First lets place some items on the Desktop...'
- title='Enhanced Editor'; objid='<WP_EPM>' ; loc='<WP_DESKTOP>'; call AddShad
- title='OS/2 Window' ; objid='<WP_OS2WIN>'; loc='<WP_DESKTOP>'; call AddShad
- title='System Clock' ; objid='<WP_CLOCK>' ; loc='<WP_DESKTOP>'; call AddShad
-
- Say '';Say 'You can even make shadow objects of files...'
- title='CONFIG.SYS'; objid='C:\CONFIG.SYS' ; loc='<WP_DESKTOP>'; call AddShad
-
- Say '';Say 'Now lets place an item in the Startup Folder...'
- title='System Clock' ; objid='<WP_CLOCK>' ; loc='<WP_START>' ; call AddShad
-
- Say '';Say 'All done, to remove objects drag to shredder...'
-
- Exit
-
- AddShad:
- Say '';Say 'Press Y to add shadow object: 'title' to 'loc
- parse upper value SysGetKey('NOECHO') with key
- If key='Y' Then Do
-
- result=SysCreateObject('WPShadow', title, loc, 'SHADOWID='objid)
-
- If result=1 Then Say 'Object created'
- Else Say 'Not created, return code='result
- End
- Return
-
- - (FLDSHAD.CMD) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- /* FLDSHAD.CMD: Sample code using REXXUTIL's SysCreateObject function */
- /* Builds a folder on the DeskTop places a program object in it then */
- /* places a shadow of the program object on the DeskTop. */
-
- /* Load REXXUTIL */
- call rxfuncadd sysloadfuncs, rexxutil, sysloadfuncs
- call sysloadfuncs
-
- /* The basic call is listed next. */
- /* result = SysCreateObject(classname, title, location, setup) */
-
- call SysCls
- Say '';Say 'Using REXXUTILs to Add Folder/Program/Shadow Objects...'
-
- Say '';Say 'Press Y to add Test Folder to Desktop...';Say '';
- parse upper value SysGetKey('NOECHO') with key
- If key<>'Y' Then Exit
-
- classname='WPFolder'
- title='Test Folder'
- location='<WP_DESKTOP>'
- setup='OBJECTID=<TEST2_FOLDER>'
- Call BldObj
-
- Say '';Say 'Press Y to place a program object into the folder...';Say '';
- parse upper value SysGetKey('NOECHO') with key
- If key<>'Y' Then Exit
-
- classname='WPProgram'
- title='SYSLEVEL-VIO'
- location='<TEST2_FOLDER>'
- setup='PROGTYPE=WINDOWABLEVIO;EXENAME=\OS2\SYSLEVEL.EXE;OBJECTID=<TEST2_SYSLVIO>
- Call BldObj
-
- Say '';Say 'Press Y to place a shadow of the program object on the Desktop...';S
- parse upper value SysGetKey('NOECHO') with key
- If key<>'Y' Then Exit
-
- classname='WPShadow'
- title='SYSLEVEL-VIO'
- location='<WP_DESKTOP>'
- setup='SHADOWID=<TEST2_SYSLVIO>'
- Call BldObj
-
- Say '';Say 'All done, to remove objects drag to shredder...'
-
- Exit
-
- /* Build Object */
- BldObj:
- call charout ,'Building: 'title
-
- result = SysCreateObject(classname, title, location, setup)
-
- If result=1 Then call charout ,'... Object created!'
- Else call charout ,'... Not created! Return code='result
-
- Say '';
- Return
-
- - (STARTDOS.CMD) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- /* STARTDOS.CMD: Sample code using REXXUTIL's SysCreateObject function */
- /* Starts a DOS program using specific DOS VDM settings. This */
- /* particularly useful for LAN execution that requires NET USE commands.*/
- /* This example invokes the PKZIP.EXE utility using a files setting of */
- /* 45 */
-
- /* Load REXXUTIL */
- call rxfuncadd sysloadfuncs, rexxutil, sysloadfuncs
- call sysloadfuncs
-
- /* The basic call is listed next. */
- /* result = SysCreateObject(classname, title, location, setup) */
-
- classname='WPProgram'
- title='My DOS Program'
- location='<WP_NOWHERE>' /* place in invisible folder */
- program='EXENAME=C:\PKZIP.EXE;' /* DOS program name */
- type='PROGTYPE=WINDOWEDVDM;' /* type of DOS session (windowed) */
- startup='STARTUPDIR=C:\;' /* startup directory */
- settings='SET DOS_FILES=45;' /* required DOS settings */
- open='OPEN=DEFAULT;' /* open now */
-
- call SysCreateObject classname, title, location,,
- program||type||startup||settings||open, 'REPLACE'
-
-
- - (BOOTDOS.CMD) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- /* BOOTDOS.CMD: Sample code using REXXUTIL's SysCreateObject function */
- /* Starts a DOS session, booting from a specific DOS image with */
- /* specific DOS VDM settings. */
-
- /* Load REXXUTIL */
- call rxfuncadd sysloadfuncs, rexxutil, sysloadfuncs
- call sysloadfuncs
-
- /* The basic call is listed next. */
- /* result = SysCreateObject(classname, title, location, setup) */
-
- classname='WPProgram'
- title='Booted DR DOS'
- location='<WP_NOWHERE>' /* place in invisible folder */
- program='EXENAME=*;' /* DOS program name (use shell) */
- type='PROGTYPE=WINDOWEDVDM;' /* type of DOS session (windowed) */
- image='C:\DRDOS.VM;' /* DOS image file */
- /* required DOS settings */
- settings='SET DOS_BACKGROUND_EXECUTION=ON;'
- open='OPEN=DEFAULT;' /* open now */
-
- call SysCreateObject classname, title, location,,
- program||type||image||settings||open, 'REPLACE'
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- ((END REXX CMD SAMPLES))