AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Dateien öffnen und abwarten bis sie geschlossen werden
Thema durchsuchen
Ansicht
Themen-Optionen

Dateien öffnen und abwarten bis sie geschlossen werden

Ein Thema von maynard · begonnen am 4. Mai 2006 · letzter Beitrag vom 29. Jul 2006
Antwort Antwort
Benutzerbild von maynard
maynard

Registriert seit: 22. Jun 2004
Ort: Deutschland
72 Beiträge
 
Delphi 7 Enterprise
 
#1

Dateien öffnen und abwarten bis sie geschlossen werden

  Alt 4. Mai 2006, 15:43
Tach ...

Der Titel is blöd, weiß!

Folgendes: Ich habe ein Programm, dass Dateien in einer Datenbank verwaltet. Vorerst (bis ich eine eigenes Anzeigeprogramm geschrieben hab) habe ich mir das so gedacht, dass ich eine temporäre Datei anlege, diese öffne und sobald das Anzeigeprogramm wieder geschlossen wird, wird auch die temporäre Datei wieder gelöscht ... eben so wie es zb. die eMule Vorschau macht. Wie kann ich darüber informiert werden, dass das Anzeigeprogramm beendet wurde. Ich hoffe doch, dass das auch ohne eine blockierende Funktion möglich ist?!

MfG
"Denkst Du dasselbe wie ich, Pinky?" - "Ich glaube schon, Brain, aber was ist, wenn das Huhn die Strumpfhosen nicht anziehen will...?"
http://www.programmierer-board.de/ph...fc628a1239.jpg
  Mit Zitat antworten Zitat
bastischo

Registriert seit: 12. Jan 2006
Ort: Planet Erde
40 Beiträge
 
Delphi 7 Personal
 
#2

Re: Dateien öffnen und abwarten bis sie geschlossen werden

  Alt 4. Mai 2006, 16:42
Ich weiß zwar nicht genau, wie dein Programm aufgebaut ist aber... funktioniert vllt ein ondestroy???
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#3

Re: Dateien öffnen und abwarten bis sie geschlossen werden

  Alt 4. Mai 2006, 19:18
Zitat von bastischo:
Ich weiß zwar nicht genau, wie dein Programm aufgebaut ist aber... funktioniert vllt ein ondestroy???
Er will ja vorerst ein externes Programm starten.


@maynard:
Stichwort CreateProcess und WaitForSingleObject:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  si : TStartupInfo;
  pi : TProcessInformation;
  s : String;
  parameter : String;
begin
  parameter := 'Parameter des Anzeige Programmes';
  s := 'C:\Pfad\Zur\Anzeige_Anwendung.exe '+parameter;

  FillChar(si, SizeOf(TStartupInfo), 0);
  si.cb := SizeOf(TStartupInfo);
  if (CreateProcess(nil,PChar(s), nil, nil, False, NORMAL_PRIORITY_CLASS,nil, PChar(ExtractFilePath(s)), si, pi)) then
  begin
    WaitForSingleObject(pi.hProcess, INFINITE);
    CloseHandle(pi.hProcess);
  end;
end;
Durch
WaitForSingleObject(pi.hProcess, INFINITE); wartet dein Programm nun solange, bis das andere beendet wurde. Statt INFINITE kann auch jede andere beliebige Zeit (in Millisekunden) angegeben werden).
  Mit Zitat antworten Zitat
Mutier

Registriert seit: 22. Jul 2006
20 Beiträge
 
#4

Re: Dateien öffnen und abwarten bis sie geschlossen werden

  Alt 29. Jul 2006, 14:12
Hallo,

vielen, vielen Dank für die Erklärung von CreateProcess. Ich verwende einen leicht abgewandelten Code, da ich nicht auf das Programmende warten muss. Ich habe allerdings noch eine "Noob"-Frage. Wenn ich mein Programm, aus dem ich das andere Programm gestartet habe, beende und das andere aber weiterläuft, muss ich dann beim Closen meines Tools die Zeile
Code:
CloseHandle(pi.hProcess)
ausführen?

Vielen Dank für Deine/Eure Hilfe.
Ciao
Murmel
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Dateien öffnen und abwarten bis sie geschlossen werden

  Alt 29. Jul 2006, 14:15
Guck mal in der Code-Library diesbezüglich: ShellExecuteAndWaitShellExecuteAndWait.
Michael
Ein Teil meines Codes würde euch verunsichern.
  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 23:17 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