Magoo Geschrieben 15. Oktober 2001 Geschrieben 15. Oktober 2001 Hallo! Ich habe ein Programm von einer Konsolenanwendung auf eine GUI-Anwendung umgestellt (Neu gecodet). Jetzt habe ich allerding ein kleines Problem. Das Programm, das ich erstellt habe, ruft ein zweites Programm auf. Damit das 1. Programm jedoch auf das 2. Programm wartet, habe ich dafür einen speziellen Befehl angewand. Dieser sieht wie folgt aus: r = spawnl(P_WAIT, IPEVStartCommand, "", NULL); IPEVStartCommand enthält die genaue Kommandozeile, um das zweite Programm zu starten. Zum Beispiel so: "C:\\WINIPEV\\WINIPEV.EXE" Anhand des Rückgabewertes r kann ich feststellen, ob das Programm gestartet wurde, oder nicht. Das funktioniert auch ganz gut. Das zweite Programm wird gestartet. Wenn ich jedoch mit dem zweiten Programm arbeiten möchte, weisst dieses Fehler auf (Das zweite Programm ist kein selbst erstelltes). Warum? Kennt jemand von euch das Problem? Wie habt ihr es behoben, wenn ihr das Problem auch hattet? Für Antworten bin ich sehr dankbar! THX Magoo PS: Ich habe den C++ Builder 5 Enterprise unter Win2k verwendet! Das Programm an sich läuft hinterher unter WinNT. Unter beiden OS das gleiche Problem (habs getestet). Zitieren
Habi Geschrieben 15. Oktober 2001 Geschrieben 15. Oktober 2001 Was für Fehler weist den das 2. Proggi auf. Meiner Mainung nach die beste Lösung ein anderes Proggi zu starten ist der Befehl CreateProcess. Die Funktion liefert dir auch ein Prozess-Handel des neu gestarteten Proggis. Das hat den Vorteil, das du 1.) warten kannst bis das Programm beendet wurde (WaitForSingleObject(hProcess, INFINITIE)) 2.) Kannst du das neue Proggi auch wieder abschiessen Ich hoffe das hilft dir. Gruss Timo Zitieren
Magoo Geschrieben 16. Oktober 2001 Autor Geschrieben 16. Oktober 2001 Das Programm hat einen Zugriffsfehler auf seine Datenbank. Warum auch immer. Auf jeden Fall ist der Fehler nicht da, wenn ich das 2. Proggi manuell starte. Das heisst, das es nur an meinem selbstgeschriebenen Programm liegen kann. CreateProcess :confused: Sorry. Den Befehl kenne ich nicht! Kann mir vielleicht jemand ein Beispiel hier posten? In der Hilfe finde ich keines. Und die Beschreibung, die ich kriege verwirrt mich ein wenig. (Die Hilfe vom Borland C++ Builder ist wirklich unter aller Würde...) Schönen Dank schonmal! PS: Könnt mit diesem Befehl klappen. Habe herausgefunden, das spawnl einen "Unterprozess" erstellt. Vielleicht kriege ich deshalb die Schwierigkeiten mit meinem 2. Proggi. Erstellt "CreateProcess" denn einen unabhängigen Prozess? Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.