![]() |
fremdes Programm aufrufen
Hallo,
mit der Quelle aus ![]() kann man gut fremde Programme aus dem eigenen Programm heraus aufrufen. Das habe ich schon erfolgreich gemacht Jetzt habe ich ein Fremdprogramm, bei dem das nicht klappt. Es gibt nur wenige Informationen zu diesem Fremdprogramm. - mit einem Doppelklick kann es problemlos gestartet werden - es ist wohl in Fortran geschrieben und eine 64 Bit Anwendung Im Taskmanager kann ich nicht sehen, dass das Programm geöffnet wird, ev. geht es einfach zu schnell. Im Aufruf wir ja auf Beendigung des Fremdprogramms gewartet, da geht es sofort nach dem Start weiter. Wie schon gesagt, mit einem kleinen (eigenen) Testprogramm klappt alles. Ich habe den Eindruck, das es da „zwei Stufen“ gibt, und die erste Stufe sofort beendet wird. (Aufruf cmd.com ?) |
AW: fremdes Programm aufrufen
Starten (explorrer)
Starten und warten (du) das ist ein Unterschied (das Starten geht ja dennoch) Scripte usw., welche durch ein anderes Programm interpretiert werden, da startest du nicht "diese" Datei, sondern ein anderes Programm, welche sie öffnet. (BAT, PS1, JAVA, BAS, PAS, TXT, DOC, .......) Hier kann man selbst direkt das andere Programm starten und ihm die Datei als Parameter geben, anstatt es automatisch machen zu lassen. Und es gibt Programme, die nutzen einen Loader. z.B. BDSLauncher.exe vs. BDS.exe im Delphi, oder bei MS-Office usw. Da wird der Launcher absichtlich wieder beendet, bevor das Ganze fertig ist. und dein Warten wartet nur auf die erste gestartete EXE (den Launcher), aber von der Anderen weiß sie nichts. -> man könnte über die ToolsAPI nach anderen Prozessen suchen, welche diesen Prozess als Parent haben und auch auf deren Ende warten. |
AW: fremdes Programm aufrufen
@himitsu
schönen Sonntag! und danke. Sowas in der Art habe ich mir schon gedacht. Ich glaube in D6 geht das mit ToolsAPI noch nicht. Und bitte nicht über die alte Version meckern, ich pflege immer noch ein damit erstelltes Programm, dass alle Windows Umstellungen seit WIN95 klaglos überstanden h. |
AW: fremdes Programm aufrufen
Nicht die OpenToolsAPI (OTA) von Delphi, womit man in die Delphi-IDE rein kommt,
sondern die von Windows, um in Windows reinzukommen. :wink: ![]() * ![]() ![]() * ![]() 32 ist OK, denn es geht um die Win32-APIs und die sind in 32 und 64 Bit das Gleiche (bzw. auch in 64 Bit heißt sie Win32 ... ist wie die APIs von WinRT oder .NET). |
AW: fremdes Programm aufrufen
Wie sieht denn der Aufruf beim Doppelklick aus? Welche Datei soll gestartet werden?
Was passiert, wenn du das Programm mit der Konsole (cmd.com) startest? Kommen da vielleicht Meldungen? Bei einem Icon gibt es auch noch die Zeile "Ausführen in". Ist da vielleicht etwas eingetragen? |
AW: fremdes Programm aufrufen
mit cmd.com starte das Programm ganz normal, es gibt keine weiteren
Ausgaben. In Eignschaften ist kein weiterer Eintrag |
AW: fremdes Programm aufrufen
Zitat:
|
AW: fremdes Programm aufrufen
Das Programm ist eine Exe
|
AW: fremdes Programm aufrufen
Zitat:
|
AW: fremdes Programm aufrufen
Ich denke das liegt am Verzeichnis in dem ausgeführt wird.
Schreib mal zum Test ein Programm das dir beim Start den Wert aus
Delphi-Quellcode:
ausgibt und den Wert von
ParamStr(0)
Delphi-Quellcode:
.
GetCurrentDir
Dann teste mit Explorer, CMD und deinem Programm. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 Uhr. |
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-2025 by Thomas Breitkreuz