[DUG] CreateProcess

Robert martin rob at wildsoft.co.nz
Thu Oct 26 11:10:28 NZDT 2006


Hi

You are the man Laurie.  That seems to work great now!

btw what does the /c do?

Rob Martin
Software Engineer

phone +64 03 377 0495
fax   +64 03 377 0496
web www.chreos.com

Wild Software Ltd



lbisman wrote:
> Should that pChar string be 'cmd /c MySQLExport.bat' as it's
> the command interpreter that usually runs batch files...
>
> Laurie..
>
>
> ----- Original Message Follows -----
>   
>> Hi
>>
>> I am trying to use create process to run a batch file. 
>> The batch file  exports a MySQL DB to a file.  The batch
>> file runs but the file is 0kb  however if run that batch
>> file normally (not from CreateProcess) the  file is
>> correctly created (about 2MB).  The code I am using is
>> shown  below, does anyone have any idea as to what I am
>> doing wrong?
>>
>>
>> var
>>     proc_info : TProcessInformation;
>>     startinfo : TStartupInfo;
>>     ExitCode  : longword;
>> begin
>>     Result := False;
>>
>>     // Initialize the structures
>>     FillChar(proc_info, sizeof(TProcessInformation), 0);
>>     FillChar(startinfo, sizeof(TStartupInfo), 0);
>>     startinfo.cb := sizeof(TStartupInfo);
>>
>>     // Attempts to create the process
>>     if (CreateProcess(Nil,
>>                         pChar('MySQLExport.bat'),
>>                         nil,
>>                         nil,
>>                         false,
>>                         NORMAL_PRIORITY_CLASS,
>>                         nil,
>>                         pChar(AppDir),
>>                         startinfo,
>>                         proc_info) <> False) then begin
>>         // Process created, now s wait till it ends...
>>         WaitForSingleObject(proc_info.hProcess, INFINITE);
>>
>>         GetExitCodeProcess(proc_info.hProcess, ExitCode);
>>         CloseHandle(proc_info.hThread);
>>         CloseHandle(proc_info.hProcess);
>>
>>         Sleep(5000);   //Wait 5secs just to allow any
>> windows cleanup or  other to finish
>>
>>         if (FileExists(AppDir + BASE_FILE) = True) then
>> begin
>>             if (CreateZipFile = True) then begin
>>                 Result := True;
>>             end;
>>         end;
>>     end;
>> end;
>>
>> -- 
>> Rob Martin
>> Software Engineer
>>
>> phone +64 03 377 0495
>> fax   +64 03 377 0496
>> web www.chreos.com
>>
>> Wild Software Ltd
>>
>> _______________________________________________
>> Delphi mailing list
>> Delphi at ns3.123.co.nz
>> http://ns3.123.co.nz/mailman/listinfo/delphi
>>     
>
> Laurie..
> _______________________________________________
> Delphi mailing list
> Delphi at ns3.123.co.nz
> http://ns3.123.co.nz/mailman/listinfo/delphi
>
>   


More information about the Delphi mailing list