Object Class List and Delete Utility

This REXX utility will list all the object classes registered with OS/2. If you specify a start and end number when running it, it will delete all the classes from the start number to the end number, inclusive. Remember that, if you add or delete object classes, the numbers of the remaining classes will change. Save the text between the horizontal rules (<PRE> tags if you are looking at the raw file) as CLASSES.CMD and proceed from there. It's all pretty self explanatory. This utility is provided for use at your own risk. All the usual disclaimers apply.

/*       List All Object Classes       */
/* Deregister Specified Object Classes*/
call RxFuncAdd 'SysQueryClassList','RexxUtil','SysQueryClassList'
call RxFuncAdd 'SysDeregisterObjectClass','RexxUtil','SysDeregisterObjectClass'
ARG Start End
CALL SysQueryClassList "List."
DO Index = 1 TO List.0
  SAY "Class "Index" is "List.Index
END
SAY
IF Start <> "" & End <> "" THEN
DO
  SAY "You have requested the deletion of object classes "Start" to "End"."
  SAY "This may have SEVERE effects on your system. Are you ABSOLUTELY"
  SAY "sure you wish to proceed (Y/N)? "
  PULL Reply
  IF Reply <> "Y" THEN EXIT
  DO Index = Start TO End
    SAY "Delete "List.Index" (Y/N)? ";
    PULL Reply
    IF Reply ="Y" THEN
    DO
      ClassName = WORD(List.Index,1)
      Result=SysDeregisterObjectClass(ClassName)
      SAY List.Index" class deletion result is "Result" where 1 is a success."
    END
  END
END

[ OS/2 Link Page | Mail Webmaster | About Webmaster ]