Zum Inhalt springen

Auf zweite Anwendung warten...


Magoo

Empfohlene Beiträge

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).

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...