IF ASCAN(dllarray,'CREATEPROCESS') = 0 DECLARE INTEGER CreateProcess IN kernel32; INTEGER lpAppName, STRING lpCmdLine, INTEGER lpProcAttr,; INTEGER lpThrAttr, INTEGER bInhHandles, INTEGER dwCrFlags,; INTEGER lpEnvir, INTEGER lpCurDir, ; STRING @lpStInfo, STRING @lpProcInfo ENDIF * and here is the one you just gave to me to test which worked: DECLARE INTEGER CreateProcess IN kernel32 ; STRING lpApplicationName, STRING lpCommandLine, ; INTEGER lpProcessAttributes, INTEGER lpThreadAttributes, ; INTEGER bInheritHandles, INTEGER dwCreationFlags, ; INTEGER lpEnvironment, STRING lpCurrentDirectory, ; STRING @lpStartupInfo, STRING @lpProcessInformationI looked and looked and finally saw that the 1st parameter was declared an INTEGER in the original and a STRING in the 2nd; same went for parameter lpCurDir. This is one of those "gotchas" - should have maybe reformatted the two into a single column and might have found it quicker...thanks for the help.