Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Dos-Programm öffnen (https://www.delphipraxis.net/2300-dos-programm-oeffnen.html)

Gast 16. Jan 2003 20:22

Zitat:

Zitat von Chakotay1308
Sieht richtig aus, aber Aufruf nicht mit CaptureDos('dir c:',Memo1->Lines) sondern mit CaptureDos('dir C:\',Memo1.Lines);

Chris

Ja, siehste hab doch gesagt keine garantie, bin mit den operatoren durcheinander gekommen bei c++ gibts "->" und bei delphi halt "."

Alexander 17. Jan 2003 15:38

HAb doch noch ein Problem.
Und zwar wie benutze ich die Funktion. Programm ausführen ist ja klar und dann wie gebe ich z.b. eine Message aus: Programm wurde beendet?
Ich beziehe mich jetzt auf den Link von oben

Gast 18. Jan 2003 13:25

Ganz einfach: Gar nicht, wenn du die obrige methode meiner meinung nimmst, bekommste nie eine exitanweisung, da dosprogramme immer so lange laufen, biss man sie geschlossen, hat, aber anscheinend willste meine methode ja nicht nehmen, mich auch egal...

RomanK 18. Jan 2003 13:31

Hoi, alexander
Bei der Funktion von Matthias kannst, so wie ich das sehe, einfach nach dem Aufruf weitermachen ... schau dir mal den code von JBG der dort folgt noch an.

Alexander 18. Jan 2003 14:17

@FuckRacism
Im Code von JBG steht aber nichts vom abwarten (jedenfalls so wie ich das sehe)
@Tillmann David
Das war doch nicht böse gemeint. Sicher kann ich auch dein Code nehmen nur ist deiner Wesentlich länger und liefert mir zusätlich noch Sachen, die eigentlich nicht brauch. Dann müsste ich die gesamte Funktion ja noch abändern

Christian Seehase 18. Jan 2003 14:36

Moin Alexander,

in der Funktion von Mathias (Win32ExecAndWait, Link von Roman), wird mit WaitForSingleObject gewartet bis das aufgerufene Programm geschlossen wird.

RomanK 18. Jan 2003 14:44

Hoi,
so wie ich das sehe kannst du einfach nach dem WinExec32AndWait
mit deinem Code weitermachen, dieser wird dann erst ausgeführt wenn das mit WinExec32AndWait ausgeführte Programm wieder beendet ist!

Christian Seehase 18. Jan 2003 14:59

Moin Zusammen,

Zitat:

Zitat von FuckRacism
...dieser wird dann erst ausgeführt wenn das mit WinExec32AndWait ausgeführte Programm wieder beendet ist!

Dabei fällt mir noch eine wichtige Einschränkung ein:
Es gibt Programme, namentlich betrifft dies meiner Erfahrung nach viele Setup.exe die mit Install Shield erstellt wurden, die nur als Starter für das eigentliche Setup dienen, und sich danach sofort beenden.
Man darf sich also nicht wundern, wenn man so ein Setup über WinExec32AndWait startet, die Funktion zurückkehrt, und das Setup noch läuft.
Um das zu umgehen müsste man noch das vorhanden sein des durch das Setup gestarteten Prozesses mit abfragen.

Bei MSI Installationen sieht's ähnlich aus, mir fällt nur gerade nicht der Parameter ein, mit dem man auf das Ende warten kann.

Alexander 18. Jan 2003 16:29

danke jetzt habe ich es kapiert. :P


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:12 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz