CreateProcess() poraz n-ty

0

Przeszukałem całe forum, sa tematy na temat tego polecenia ale wskazówki które są w innych postach mi nie pomagają, parametry nie dochodzą do programu. Uruchamia sie tylko program exe

procedure DumpMySQL(Host,Login,Password,Baza,Plik: String);
Const
  exe = 'mysqldump.exe';
var
  Parametr : String;
  a : TFileRun;
  StartInfo: TStartupInfo;
  ProcInfo   : TProcessInformation;
begin
//  FillChar(StartInfo,SizeOf(TStartupInfo),#0);
//  FillChar(ProcInfo,SizeOf(TProcessInformation),#0);
  StartInfo.cb := SizeOf(TStartupInfo);
  GetStartupInfo(StartInfo);

  Parametr := 'mysqldump.exe --host='+Host+' --user='+Login+' --password='+Password+' '+Baza+' > '+Plik;
  CreateProcess(nil,PChar(Parametr),nil,nil,False,CREATE_NEW_PROCESS_GROUP,nil,nil,StartInfo,ProcInfo)
end;

Próbowałem także z cudzysłowem ale z takim samym skutkiem, w czym tkwi problem?

0

dlaczego fillchar masz zakomentowane? dlaczego podajesz nazwę programu jako jego parametr? co prawda dokumentacja zezwala na coś takiego, ale wygląda to tak sobie. CREATE_NEW_PROCESS_GROUP - po co Ci taka flaga?

pomijając te niedociągnięcia, to aby nie walnąłeś się w składni parametrów? nie powinno być aby --opt przed loginem i hasłem? czy mysqldump działa wywołane w dokładnie taki sam sposób, tylko z linii poleceń?

0

pierwszy parametr do CreateProcess jest na nazwę exeka, a drugi na parametry. inne kombinacje są tylko dla wstecznej zgodności z Win 3.x

0

z lini polecen wszystko działa, fillchar włączone czy nie nic nie daje. Pierwszy parametr nazwa programu drugi parametry to już wcześniej sprawdzałem i nie działało.

1 użytkowników online, w tym zalogowanych: 0, gości: 1