- Код: Выделить всё
procedure TForm1.LAUNCHURTClick(Sender: TObject);
begin
if (MUMBLEOVERLAYCHECKBOX.Checked = False and SECONDXCHECKBOX.Checked = False) then
begin
cmdopts := ' +name ' + NICK.Text + ' +connect ' + IPADDRESS.Text;
cmdopts1 := ' +password ' + PWFIELD.Text;
AProcess := TProcess.Create(nil);
AProcess.CommandLine := BINARYPATH.Text + cmdopts + cmdopts1;
AProcess.Execute;
end;
if (SECONDXCHECKBOX.Checked = True and MUMBLEOVERLAYCHECKBOX.Checked = False) then
begin
cmdopts := ' +name ' + NICK.Text + ' +connect ' + IPADDRESS.Text;
cmdopts1 := ' +password ' + PWFIELD.Text;
AProcess := TProcess.Create(nil);
AProcess.CommandLine := 'xinit ' + BINARYPATH.Text + cmdopts + cmdopts1 + ' -- :1';
AProcess.Execute;
end;
if (SECONDXCHECKBOX.Checked = False and MUMBLEOVERLAYCHECKBOX.Checked = True) then
begin
cmdopts := ' +name ' + NICK.Text + ' +connect ' + IPADDRESS.Text;
cmdopts1 := ' +password ' + PWFIELD.Text;
AProcess := TProcess.Create(nil);
AProcess.CommandLine := '/usr/bin/mumble-overlay ' + BINARYPATH.Text + cmdopts + cmdopts1;
AProcess.Execute;
end;
if (SECONDXCHECKBOX.Checked = True and MUMBLEOVERLAYCHECKBOX.Checked = True) then
begin
cmdopts := ' +name ' + NICK.Text + ' +connect ' + IPADDRESS.Text;
cmdopts1 := ' +password ' + PWFIELD.Text;
AProcess := TProcess.Create(nil);
AProcess.CommandLine := 'xinit /usr/bin/mumble-overlay ' + BINARYPATH.Text + cmdopts + cmdopts1 + ' -- :1';
AProcess.Execute;
end;
end;
Опции TProcess - poWaitOnExit
Проблема в следующем - ioUrbanTerror запускается не только во вторых иксах (если соответствующая галочка чекнута), но и в первых. Соответственно, получаем лаги, и процесс, запущенный в первых иксах, приходится убивать из tty. Вопрос - как это исправить?
Я еще новичок, не пинайте, если что не так :<