home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / vp21beta.zip / OEXMPSRC.RAR / OBJCLASS / NEWOBJ.PAS < prev   
Pascal/Delphi Source File  |  2000-08-15  |  2KB  |  70 lines

  1. {█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█}
  2. {█                                                       █}
  3. {█      Virtual Pascal Examples  Version 2.1             █}
  4. {█      NEWOBJ example                                   █}
  5. {█      ─────────────────────────────────────────────────█}
  6. {█      Copyright (C) 1995-2000 vpascal.com              █}
  7. {█                                                       █}
  8. {▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀}
  9. {$I-,D-,Use32+}
  10.  
  11. { Attempts to creates a new object on the desktop, fails, }
  12. { and tries again.                                        }
  13.  
  14. Program NewObj;
  15.  
  16. Uses
  17.   Os2Def, Os2PmApi;
  18.  
  19. {$PMTYPE VIO}
  20.  
  21. Const
  22.   Parameters = 'EXENAME=E.EXE;STARTUPDIR=C:\;PARAMETERS=CONFIG.SYS';
  23.  
  24. Var
  25.   hObj    : HObject;
  26.   Anchor  : hAB;
  27.   ErrId   : ErrorID;
  28.  
  29. begin
  30.   { Get Anchor handle of this process to get error information }
  31.   Anchor := WinInitialize(0);
  32.  
  33.   { Try to create a program object on the desktop }
  34.   hObj := WinCreateObject( 'WPPROGRAM',                { Object Type }
  35.                            'VP Test Object',           { Object Name }
  36.                            Parameters,                 { Parameters }
  37.                            'On the OS/2 desktop',      { Invalid Location }
  38.                            CO_ReplaceIfExists );       { Options }
  39.  
  40.   { If hObj is 0, an error occurred }
  41.   If hObj = 0 then
  42.     begin
  43.       { Get the error id and severity }
  44.       ErrId := WinGetLastError( Anchor );
  45.  
  46.       { Write error message }
  47.       Writeln( 'Error creating new object on desktop!' );
  48.       Writeln( '  Error Severity is ', ErrId shr 16 );
  49.       Writeln( '  Error Code is ', ErrId and $FFFF );
  50.       Writeln;
  51.  
  52.       { Try again }
  53.       Writeln( 'Retrying...');
  54.       hObj := WinCreateObject( 'WPPROGRAM',                { Object Type }
  55.                                'VP Test Object',           { Object Name }
  56.                                Parameters,                 { Parameters }
  57.                                '<WP_DESKTOP>',             { Location }
  58.                                CO_ReplaceIfExists );       { Options }
  59.  
  60.       { If hObj is 0, an error occurred }
  61.       If hObj = 0 then
  62.         Writeln( 'Another error occurred.' )
  63.       else
  64.         Writeln( 'VP Test Object created succesfully!' );
  65.     end
  66.   else
  67.     Writeln( 'VP Test Object created succesfully...?' );
  68. end.
  69.  
  70.