I put the API declaration in there to call attention to the inverse declaration when using DLCall.
The ordering of the arguments is reversed from the Declarative DLL. When datatypes match up with the RBase world (as many of the APIs do, these are a welcome and powerful addition to the language. The usage and adaptability should become more widespread over time. Lately, I have been plagued (in a very good way) with increased obligations in my principal business and has resulted in less time available to finish up some demo stuff, but I am still chipping away at it. I am particularly anxious to put to use the wrapper for the MSScript Control to demonstrate the tighter blending of RBase and MS Office products (using COM). ----- Original Message ----- From: "Dennis McGrath" <[EMAIL PROTECTED]> To: "RBASE-L Mailing List" <[email protected]> Sent: Thursday, July 24, 2008 1:52 PM Subject: [RBASE-L] - Re: Silent LAUNCH command. That is definitely silent and fast. In addition, console stuff can't happen. I had a pause command in my batch file and it did not happen. The rest of the batch file ran fine. Another nice tool for the arsenal Dennis McGrath -----Original Message----- From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of MikeB Sent: Thursday, July 24, 2008 12:07 PM To: RBASE-L Mailing List Subject: [RBASE-L] - Re: Silent LAUNCH command. ----- Original Message ----- From: "Lawrence Lustig" <[EMAIL PROTECTED]> To: "RBASE-L Mailing List" <[email protected]> Sent: Thursday, July 24, 2008 9:39 AM Subject: [RBASE-L] - Silent LAUNCH command. >I have an R:Base program which builds a batch file to perform some system >level processing. I can LAUNCH the batch file, it works great. > > However, a DOS window flashes on the screen while the batch file operates. > There's no output, so there's no need for the window or the flashing. > > Can anyone think of a clever way to launch a batch file "invisibly"? > > Failing that, does anyone (paging MikeB, paging MikeB, Mr. B please pick up > the white courtesy phone) have the STDCALL worked out to do this directly > through ShellExecEx? > -- Anyway, if you're still interested: { HINSTANCE ShellExecute( HWND hwnd, LPCTSTR lpOperation, LPCTSTR lpFile, LPCTSTR lpParameters, LPCTSTR lpDirectory, INT nShowCmd ); Syntax located at: http://msdn.microsoft.com/en-us/library/bb762153(VS.85).aspx } SET VAR nshowcmd INTEGER = 0 { SW_HIDE } SET VAR lpdirectory TEXT = NULL SET VAR lpparameters TEXT = NULL SET VAR lpfile TEXT = 'TestBat.bat' SET VAR lpoperation TEXT = 'open' SET VAR hwnd INTEGER = 0 { since it runs hidden, pass HWND as null } SET VAR vretval INTEGER = NULL IF (chkfunc('ShellExecuteA')) = 0 THEN STDCALL function 'ShellExecuteA' ALIAS 'ShellExecute' + (integer, ptr text (256), ptr text (128), ptr text (128), ptr text (32), integer) : integer ENDIF SET VAR vi = (dlcall('shell32.dll', 'ShellExecuteA', + nshowcmd, lpdirectory, lpparameters, lpfile, lpoperation, hwnd)) RETURN > Larry

