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@ns3.123.co.nz > http://ns3.123.co.nz/mailman/listinfo/delphi Laurie.. _______________________________________________ Delphi mailing list Delphi@ns3.123.co.nz http://ns3.123.co.nz/mailman/listinfo/delphi