AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Auf externes Programm warten...

Ein Thema von tjiel · begonnen am 16. Sep 2003 · letzter Beitrag vom 17. Sep 2003
Antwort Antwort
tjiel

Registriert seit: 14. Sep 2003
9 Beiträge
 
#1

Auf externes Programm warten...

  Alt 16. Sep 2003, 15:34
Hi !
Ich rufe in einer for-Schleife mit ShellExecute ein Programm auf. Die schleife läuft so ca. maximal 50mal durch und wandelt jedesmal ein ziemlich großes Images in ein ca. 10k großes .gif um (also jeden Menge Rechenzeit).
Wie kann ich es verhindern, dass die Schleife weiterläuft obwohl das Prog noch nicht fertig mit dem umwandeln ist. Ist das mit ShellExecute überhaupt möglich ?

Danke für eure Hilfe
tjiel
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Auf externes Programm warten...

  Alt 16. Sep 2003, 15:46
Moin Tjiel,

Zitat von tjiel:
Ist das mit ShellExecute überhaupt möglich ?
Nein, dazu brauchst Du ShellExecuteEx oder CreateProcess, sowie noch "ein wenig" "schmückendes Beiwerk".

Schau Dich doch mal hier nach diesen Begriffen um, speziell auch in der Code-Library.
So etwas wie ExecAndWait haben wir mit Sicherheit hier schon mehrfach gehabt.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von RomanK
RomanK

Registriert seit: 7. Jun 2002
Ort: Kirchheim unter Teck
1.036 Beiträge
 
Delphi 7 Personal
 
#3

Re: Auf externes Programm warten...

  Alt 16. Sep 2003, 15:47
Hoi dieser Post aus der Code-Library sollte helfen: http://www.delphipraxis.net/internal...ect.php?t=6983
Roman Keller
Krieg ist Gottes Art den Amerikanern Geographie beizubringen!
  Mit Zitat antworten Zitat
tjiel

Registriert seit: 14. Sep 2003
9 Beiträge
 
#4

Re: Auf externes Programm warten...

  Alt 17. Sep 2003, 08:55
Ich hab mir den Beitrag http://www.delphipraxis.net/internal...ect.php?t=6983 mal angeschaut und muss erlich sagen: Das einzige was mir dazu einfällt ist: ???

Wie integriere ich das in ein bestehendes Project ? Mit welchen argumenten rufe ich die Funktionen auf ? Welche Funktion rufe ich auf ?
Fragen über Fragen . Wäre super, wenn ihr mir da nen kleinen Ansatz geben könntet.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Auf externes Programm warten...

  Alt 17. Sep 2003, 12:42
Moin Tjiel,

Assarbad hat da zwei Funktionen gezeigt, zum einen eine für ANSI zum anderen eine für Unicode (kenntlich am A bzw. W am Ende des Funktionsnamens)

Die Parameter bedeuten:

function ShellExecuteAndWaitA(hWnd: HWND; Operation, FileName, Parameters, Directory: PAnsiChar; ShowCmd: Integer; bWait: BOOL):
  • hWnd
    Handle eines Fenster, dass als Parent für eventuell anzuzeigende Meldungsdialoge dient. Hier kannst Du beispielsweise das Handle Deines Formulares angeben, oder aber auch 0.
  • Operation
    Was mit der im Parameter FileName angegebenen Datei gemacht werden soll. In der Shell werden sogenannte Verben verwendet, die das angeben. Für das Starten eines Programmes wird man da immer open angeben.
    Weiteres kannst Du am Besten im PSDK unter ShellExecuteEx nachlesen.
  • FileName
    Der Pfad zu der Datei.
    Hier kann man den Pfad zu einem Programm, aber auch den zu einer Datei angeben, deren Typ mit einem Programm verknüpft ist, dass die Datei öffnet, z.b. den Pfad zu einer TXT Datei (dann würde meist Notepad gestartet, und die angegebene Datei geladen werden)
    Gibst Du nur einen Dateinamen, aber keinen Pfad an, muss sich die Datei im Suchpfad befinden.
  • Parameters
    Eventuelle weitere Parameter die übergeben werden sollen
  • Directory
    Das Arbeitsverzeichnis
  • ShowCmd
    Wie das gestartete Programm angezeigt werden soll, also z.b. SW_NORMAL, wenn das Programm so gestartet werden soll, wie bei einem Doppelclick im Explorer.
    Hierzu findest Du näheres im PSDK unter ShellExecute
  • bWait
    True: es wird auf die Beendigung des gestarten Programmes gewartet
    False: Programm wird gestartet, und die Funktion kehrt sofort zurück
Du musst halt nur die Funktion irgendwo in Deinem Programm einbauen.
Unter Uses muss noch ShellAPI hinzugefügt werden.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Auf externes Programm warten...

  Alt 17. Sep 2003, 12:45
LOL. Er hat ausgerechnet das Monster von Oliver erwischt.

Versuch es mal hier mit: http://www.delphipraxis.net/internal...=createprocess
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
tjiel

Registriert seit: 14. Sep 2003
9 Beiträge
 
#7

Re: Auf externes Programm warten...

  Alt 17. Sep 2003, 13:56
ok funzt !
Danke für die Hilfe
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz