home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / vp21beta.zip / OEXMPSRC.RAR / OBJCLASS / LISTCLS.PAS next >
Pascal/Delphi Source File  |  2000-08-15  |  1KB  |  52 lines

  1. {█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█}
  2. {█                                                       █}
  3. {█      Virtual Pascal Examples  Version 2.1             █}
  4. {█      LISTCLS command line utility.                    █}
  5. {█      ─────────────────────────────────────────────────█}
  6. {█      Copyright (C) 1995-2000 vpascal.com              █}
  7. {█                                                       █}
  8. {▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀}
  9. {$I-,D-,Use32+}
  10.  
  11. { Displays a list of all object classes registered with   }
  12. { the Workplace Shell                                     }
  13.  
  14. Program ListCls;
  15.  
  16. Uses
  17.   Os2Def, Os2PmApi;
  18.  
  19. {$PMTYPE VIO}
  20.  
  21. Var
  22.   p,q : pObjClass;
  23.   Size : ULong;
  24.  
  25. begin
  26.   p := nil;
  27.   { Return number of bytes needed to hold class list }
  28.   If WinEnumObjectClasses( p, Size ) then
  29.     begin
  30.       GetMem( p, Size );
  31.       { Get list of objects }
  32.       If WinEnumObjectClasses( p, Size ) then
  33.         begin
  34.           { Output list of objects to screen }
  35.           Writeln( 'Classes registered with WPS: ');
  36.           q := p;
  37.           While ( q <> nil ) do
  38.             begin
  39.               Writeln( q^.pszClassName, ' in DLL ', q^.pszModName );
  40.               q := q^.pNext;
  41.             end;
  42.           Writeln;
  43.         end
  44.       else
  45.         Writeln( 'WinEnumObjectClasses reports failure!' );
  46.       FreeMem( p, Size );
  47.     end
  48.   else
  49.     Writeln( 'WinEnumObjectClasses reports failure!' );
  50. end.
  51.  
  52.