|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Jul 2006
Città: Milano
Messaggi: 131
|
[Visual C++] Problema con _spawnlp
Ragazzi ho un problema con questo comando... nel mio codice scrivo le seguenti righe:
Codice:
const char *p = "\\IDentity\\Identity.exe"; int err = _spawnlp(_P_WAIT, p,NULL); if (err== 0) AfxMessageBox("errore 0"); if (err== 1) AfxMessageBox("errore 1"); if (err== -1) AfxMessageBox("errore -1"); Premette che l'eseguibile che voglio lanciare è contenuto nella directory IDentity che a sua volta è contenuta nel mio progetto. Spero che qualcuno riesca ad aiutarmi. Grazie mille.
__________________
"Due cose sono infinite: l'universo e la stupidità umana ma sull'universo nutro ancora dubbi..."(A. Einstein) |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
|
Quote:
__________________
In God we trust; all others bring data |
|
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Jul 2006
Città: Milano
Messaggi: 131
|
Non ho molto chiaro come fargliela stampare, mi potresti dare qualche indicazione in più? Grazie.
anzi ho fatto così: m_int = errno; m_int è una variabile di tipo int associata ad un edit box naturalmente faccio anche UpdateData(FALSE); cmq sembrerebbe restituire 0.
__________________
"Due cose sono infinite: l'universo e la stupidità umana ma sull'universo nutro ancora dubbi..."(A. Einstein) Ultima modifica di pa_co : 18-03-2008 alle 22:25. |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
|
Se hai la possibilita' di stampare su una console, e' semplice:
Codice:
const char *p = "\\IDentity\\Identity.exe"; int err = _spawnlp(_P_WAIT, p,NULL); if (err < 0) perror ("Error starting new process:"); Nel caso non disponi della console, potresti stampare il valore di errno. Visual Studio ti fornisce poi una piccola applicazione (non ricordo il nome) che dato il codice di errore ti restituisce la stringa con il suo significato. Altrimenti cerchi sulla rete oppure nei file di include. Codice:
const char *p = "\\IDentity\\Identity.exe"; int err = _spawnlp(_P_WAIT, p,NULL); if (err < 0) { char str[250]; sprintf (str, "Error number %d starting process", errno); AfxMessageBox(str); } Spero ti sia utile
__________________
In God we trust; all others bring data |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
|
Ne sei sicuro? In tal caso il problema e' un altro. Controlla MSDN
__________________
In God we trust; all others bring data |
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Jul 2006
Città: Milano
Messaggi: 131
|
Grazie mille ho risolto...ho provato copiando tutto nella cartella corrente è funziona...il percorso era corretto anche prima, ma ho scoperto che non partiva perchè aveva bisogno di un file da cui leggeva all'apertura del programma..
Ancora Grazie. Mi sei stato utilissimo
__________________
"Due cose sono infinite: l'universo e la stupidità umana ma sull'universo nutro ancora dubbi..."(A. Einstein) |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:52.