Qt: kleiner fehler beim kompillieren
-
Dein QProcess ist eine lokale Variable. Die ist nicht mehr gültig, nachdem die go_conf Funktion gestartet wurde. Und das readyReadStdout Signal hat keinen Parameter, so dass du das nicht an den ready slot übergeben darfst.
Wenn du die Prozesse nicht gleichzeitig ausführst kannst du mit einem QProcess Objekt nacheinander alle abarbeiten und innerhalb von ready abfragen, was gerade gemacht wird.
-
das ging ja schnell!
Dein QProcess ist eine lokale Variable. Die ist nicht mehr gültig, nachdem die go_conf Funktion gestartet wurde. Und das readyReadStdout Signal hat keinen Parameter, so dass du das nicht an den ready slot übergeben darfst.
uups
.ui/form1.h:71: Fehler: candidate is: virtual void Form1::ready(QProcess) .ui/../form1.ui.h:35: Warnung: nicht benutzter Parameter »arg« make: *** [.obj/form1.o] Fehler 1
Wenn du die Prozesse nicht gleichzeitig ausführst kannst du mit einem QProcess Objekt nacheinander alle abarbeiten und innerhalb von ready abfragen, was gerade gemacht wird.
ich versteh nicht ganz
-
diddy_k schrieb:
Wenn du die Prozesse nicht gleichzeitig ausführst kannst du mit einem QProcess Objekt nacheinander alle abarbeiten und innerhalb von ready abfragen, was gerade gemacht wird.
ich versteh nicht ganz
Du legst dir halt ein QProcess in deiner Klasse an und benutzt dieses für die verschiedenen Aufgaben.
-
das will ich aber nicht
-
diddy_k schrieb:
das will ich aber nicht
Und warum nicht? Willst du mehrere Prozesse gleichzeitig starten?
-
nein ich wollte eine fkt. mehrfach nutzen und nicht alles in eine packen. aber das wird wohlnicht anders gehen.
-
wenn ich es so mache passiert irgendwie nischt!?
void Form1::go_conf(QString path, QString name, QString arg) // { QProcess prc; prc.addArgument(name); connect(&prc, SIGNAL(processExited()), this, SLOT(finish() ) ); choice = 'm'; chdir(path); prc.start(); while (prc.canReadLineStdout() ) { textEdit_log->append(prc.readLineStdout() ); } }
-
Schau dir die folgende Diskussion und das zuletzt gepostete Programm an:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-114355-and-start-is-10.html
-
das sollte eher der demo dienen!(rechfertigend)
na gut ich hab ja jetzt ein paar process objekte erstellt. aber schade ist das man kann man das alte prc nicht auf irgend eine art und weise mit einer set-fkt. überschreiben???
-
Hast du dir mal die Doku zu QProcess angeschaut? Wie steht es mit clearArguments()?
-
uups, thx!