crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Вопрос по вызову QProcess ?
AntonTatu
  опции профиля:
сообщение 16.3.2009, 12:07
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 48
Регистрация: 27.11.2008
Пользователь №: 437

Спасибо сказали: 0 раз(а)




Репутация:   0  


Всем привет!

Возникла необходимость вызывать из одной программы другую, вот такой код не работает, как правильно ?

QProcess myProc;
myProc.start ("C:\1.exe");
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 16.3.2009, 12:08
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(AntonTatu @ 16.3.2009, 15:07) *
\1
слэш в языке С++ имеет специальный смысл, либо пиши
C:/1.exe
либо
C:\\1.exe
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AntonTatu
  опции профиля:
сообщение 16.3.2009, 12:27
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 48
Регистрация: 27.11.2008
Пользователь №: 437

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 16.3.2009, 12:08) *
Цитата(AntonTatu @ 16.3.2009, 15:07) *
\1
слэш в языке С++ имеет специальный смысл, либо пиши
C:/1.exe
либо
C:\\1.exe


да как я уже только не писал :(
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 16.3.2009, 12:38
Сообщение #4


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(AntonTatu @ 16.3.2009, 12:27) *
да как я уже только не писал :(

А что пишет? Что QProcess::error() возвращает?

А ты случаем не так вызываешь?
void func()
{
    QProcess myProc;
    myProc.start ("C:\1.exe");
}


А то при выходе из функции, процесс 1.exe будет убит, не успев запуститься.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AntonTatu
  опции профиля:
сообщение 16.3.2009, 13:15
Сообщение #5


Студент
*

Группа: Участник
Сообщений: 48
Регистрация: 27.11.2008
Пользователь №: 437

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(BRE @ 16.3.2009, 12:38) *
Цитата(AntonTatu @ 16.3.2009, 12:27) *
да как я уже только не писал :(

А что пишет? Что QProcess::error() возвращает?

А ты случаем не так вызываешь?
void func()
{
    QProcess myProc;
    myProc.start ("C:\1.exe");
}


А то при выходе из функции, процесс 1.exe будет убит, не успев запуститься.


ну вобщем да.... , а как же мне его тогда вызывать ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 16.3.2009, 13:21
Сообщение #6


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(AntonTatu @ 16.3.2009, 13:15) *
ну вобщем да.... , а как же мне его тогда вызывать ?

А ты QProcess не на стеке создавай:
QProcess *p = new QProcess(...);
p->start( ... );

Только после завершения процесса, не забывай объект удалить.

или, если надо, дожидайся завершения процесса в функции:

bool QProcess::waitForFinished ( int msecs = 30000 )

void func()
{
    QProcess myProc;
    myProc.start ("C:\1.exe");
    myProc.waitForFinished();
}


Сообщение отредактировал BRE - 16.3.2009, 13:25
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- AntonTatu   Вопрос по вызову QProcess ?   16.3.2009, 12:07
- - Litkevich Yuriy   Цитата(AntonTatu @ 16.3.2009, 15:07) ...   16.3.2009, 12:08
|- - AntonTatu   Цитата(Litkevich Yuriy @ 16.3.2009, 12:08...   16.3.2009, 12:27
|- - BRE   Цитата(AntonTatu @ 16.3.2009, 12:27) да к...   16.3.2009, 12:38
|- - AntonTatu   Цитата(BRE @ 16.3.2009, 12:38) Цитата(Ant...   16.3.2009, 13:15
|- - BRE   Цитата(AntonTatu @ 16.3.2009, 13:15) ну в...   16.3.2009, 13:21
|- - AntonTatu   Цитата(BRE @ 16.3.2009, 13:21) Только пос...   16.3.2009, 16:24
|- - BRE   Цитата(AntonTatu @ 16.3.2009, 16:24) в об...   16.3.2009, 16:55
- - kwisp   Цитата(AntonTatu @ 16.3.2009, 12:27) да к...   16.3.2009, 12:35
- - Litkevich Yuriy   BRE, AntonTatu, не цитируйте целыми сообщениями, к...   16.3.2009, 17:58
- - DEADHUNT   arg = QStringList() << "/c...   3.10.2009, 17:28
- - kwisp   DEADHUNT, а почему должна оставаться? "conso...   3.10.2009, 17:32
- - DEADHUNT   работа не была завершенна, в скрипте же есть pause...   3.10.2009, 17:34
- - kwisp   почему не хочешь так? arg = QStringList() ...   3.10.2009, 17:38
- - DEADHUNT   также работает(calc запускается), но консоль не по...   3.10.2009, 17:45
- - kwisp   DEADHUNT, мож настройки винды такие. а примерчика...   3.10.2009, 17:47
- - DEADHUNT   примерчик очень большой(не один десяток файлов), с...   3.10.2009, 18:10
- - kwisp   DEADHUNT, да start запускает консоль(в процессах ...   3.10.2009, 18:14
- - DEADHUNT   выход только WinAPI и условную компиляцию использо...   3.10.2009, 18:19
- - Litkevich Yuriy   DEADHUNT, командная строка может захлопнутся, если...   3.10.2009, 18:43
- - kwisp   DEADHUNT, я запустил так QStringList s; proc.star...   3.10.2009, 18:49
- - DEADHUNT   спасибо, но всётаки интересно как же тогда VS дела...   3.10.2009, 18:54
- - kwisp   это тебе надо к знатокам винды:) сомневаюсь, это н...   3.10.2009, 18:58
- - DEADHUNT   Цитата(kwisp @ 3.10.2009, 19:58) баг это ...   3.10.2009, 19:08


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


6 чел. читают эту тему (гостей: 6, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.12.2024, 6:07