Zum Inhalt springen

Auf zweite Anwendung warten...


Empfohlene Beiträge

Geschrieben

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

Geschrieben

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

Geschrieben

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?

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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