I'm glad you figured it out. There are now a lot of createprocess examples on the UT for future referrence. Your bleary eyed comment made me smile. It's those issues that I could just throw my hands up into the air over that end up teaching me the most sometimes. Or maybe I just remember them better because I got so frustrated over them... Usually Sergey points me in the right direction after I've stumbled off into never never land for awhile :o)
>Hi Tracy,
>
>Well the trouble turned out to be in the DECLARE DLL for the CreateProcess() function - and it probably did not turn up for others unless they passed in a different value for the parameter. I stared bleary eyed at why your test program worked and if I copied your declare statement into mine, mine also worked but could not find it (intially). Here is the original function setup I had copied which was throwing the error:
>
>
>
>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 @lpProcessInformation
>
>
>
>I 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.
>
>Albert
.·*´¨)
.·`TCH
(..·*
010000110101001101101000011000010111001001110000010011110111001001000010011101010111001101110100
"When the debate is lost, slander becomes the tool of the loser." - Socrates
Vita contingit, Vive cum eo. (Life Happens, Live With it.)
"Life is not measured by the number of breaths we take, but by the moments that take our breath away." -- author unknown
"De omnibus dubitandum"