提交 4861ce02 编写于 作者: 丁劲犇's avatar 丁劲犇 😸

指定Path的时候,不能破坏了相对路径的依赖性。

上级 761538f5
......@@ -65,13 +65,12 @@ bool DlgWrpScript::cmd_start()
lstCmds << ui->lineEdit_parasec->text();
lstCmds << m_lstArgs;
QFileInfo cmdinfo(cmdline);
m_process->setProgram(cmdinfo.absoluteFilePath());
//设置当前路径
if (ui->lineEdit_workingDir->text().length())
m_process->setWorkingDirectory(ui->lineEdit_workingDir->text());
else
m_process->setWorkingDirectory(cmdinfo.absolutePath());
m_process->setProgram(cmdline);
//准备环境变量
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
const QString newEnv = ui->plainTextEdit_extraEnv->toPlainText();
......
......@@ -125,8 +125,12 @@ bool DlgWrpStdio::cmd_start()
return false;
const QString exe = ui->lineEdit_prgPath->text();
const QString cmd = ui->lineEdit_parasec->text();
QFileInfo cmdinfo(exe);
QString command = "\"" + cmdinfo.absoluteFilePath() +"\"";
if (cmd.size())
command += " " + cmd;
//设置当前路径
if (ui->lineEdit_workingDir->text().length())
m_process->setWorkingDirectory(ui->lineEdit_workingDir->text());
......@@ -155,9 +159,6 @@ bool DlgWrpStdio::cmd_start()
env.insert(skey,sval);
}
m_process->setProcessEnvironment(env);
QString command = exe;
if (cmd.size())
command += " " + cmd;
m_process->startCommand(command);
return true;
}
......
......@@ -69,9 +69,9 @@ bool taskNode::cmd_start(QObject * node,QString cm, QStringList paras)
const QString cmdline =cm;
QFileInfo cmdinfo(cm);
QStringList lstCmds = paras;
m_process->setProgram(cmdline);
m_process->setArguments(lstCmds);
m_process->setProgram(cmdinfo.absoluteFilePath());
m_process->setWorkingDirectory(cmdinfo.absolutePath());
m_process->setArguments(lstCmds);
m_process->start();
QString cmdlinestr = cmdline;
......
......@@ -48,8 +48,10 @@ void taskBusPlatformFrm::load_modules(QStringList newfms)
{
QProcess proc;
QFileInfo infocmd(newfm);
proc.setProgram(infocmd.absoluteFilePath());
proc.setWorkingDirectory(infocmd.absolutePath());
proc.start(newfm,QStringList()<<"--information");
proc.setArguments(QStringList()<<"--information");
proc.start();
array.append(proc.readAll());
proc.waitForFinished(10000);
array.append(proc.readAll());
......
......@@ -23,6 +23,7 @@
#include <QTextStream>
#include <QProcess>
#include <QAtomicInt>
#include <QDir>
#include <stdio.h>
#include "core/taskcell.h"
#include "core/taskproject.h"
......@@ -41,6 +42,7 @@ using namespace TASKBUS;
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QDir::setCurrent(a.applicationDirPath());
init_client();
//init ProfileLog
profile_log::init();
......@@ -193,8 +195,10 @@ void load_modules(QStringList newfms, taskCell * cell)
{
QProcess proc;
QFileInfo infocmd(newfm);
proc.setProgram(infocmd.absoluteFilePath());
proc.setArguments(QStringList()<<"--information");
proc.setWorkingDirectory(infocmd.absolutePath());
proc.start(newfm,QStringList()<<"--information");
proc.start();
proc.waitForFinished(10000);
array.append(proc.readAll());
proc.kill();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册