AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi createprocess und WaitForSingleObject unter NT anders wie 98
Thema durchsuchen
Ansicht
Themen-Optionen

createprocess und WaitForSingleObject unter NT anders wie 98

Ein Thema von Sven Janssen · begonnen am 23. Jun 2004 · letzter Beitrag vom 23. Jun 2004
Antwort Antwort
Benutzerbild von Sven Janssen
Sven Janssen

Registriert seit: 22. Jun 2004
Ort: Mayen
187 Beiträge
 
Delphi 4 Professional
 
#1

createprocess und WaitForSingleObject unter NT anders wie 98

  Alt 23. Jun 2004, 15:04
Ich hatte mir unter Windows 98 mit Delphi 4 einmal ein Programm geschrieben was unsere ganzen Projekte auf einmal (nacheinander) übersetzt.
Da unsere _System_ modular aufgebaut ist, besteht es aus ca 100 einzelnen Projekten.
Unter Windows 98 lief das Programm auch. Nur ab dem NT Kernel, muss die API Funktion anders angesteurert werden. Ich bekomm es momentan nur nicht hin wie ich es anders machen muss.

Folgender Code:
Delphi-Quellcode:
with SUInfo do begin
   cb := SizeOf(SUInfo);
   dwFlags := STARTF_USESHOWWINDOW;
   wShowWindow := sw_show; //sw_hide;
end;
result:=createprocess(NIL,pchar(cmdline),NIL,NIL,FALSE,
                      CREATE_NEW_CONSOLE or
                      NORMAL_PRIORITY_CLASS, NIL,
                      PChar(ExtractFilePath(hlp)),
                      SUINFO, PROCINFO);
if result then WaitForSingleObject(ProcInfo.hProcess, INFINITE);
leider wartet der Prozess nicht und haut mir dann 100 Fenster auf den Schirm.
bzw starte 100 Prozess.

Sven
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#2

Re: createprocess und WaitForSingleObject unter NT anders wi

  Alt 23. Jun 2004, 15:21
Schon mit dem Flag für eine neue Prozeßgruppe versucht?
Ansonsten beschreibt der Artikel unter http://www.microsoft.com/msj/0698/win320698.aspx das Problem ziemlich umfassend.

BTW, Du solltest die Handles auch wieder freigeben.
edit: Link gefixt
  Mit Zitat antworten Zitat
Benutzerbild von Sven Janssen
Sven Janssen

Registriert seit: 22. Jun 2004
Ort: Mayen
187 Beiträge
 
Delphi 4 Professional
 
#3

Re: createprocess und WaitForSingleObject unter NT anders wi

  Alt 23. Jun 2004, 15:29
das wird alles gemacht.

Ich hab fas Problem auch gefunden.
Ein schlauer Geist hat in abwesenheit von mir anstatt den dcc32.exe direkt auf zu rufen das ganze durch Batch Dateien gelöst.
d.h es wurde eine .bat Datei erstellt und aufgerufen und anscheined meint WaitForSingleObject das dieser sofort beendet wurde. Dadurch flogen mir die Fenster auf Schirm. (btw. XP juckt das nicht, er hat dennoch alles übersetzt).
Nachdem ich nun meinen Stand von 2001 wieder zurück gesetzt hab funktioniert das ganz Programm wieder wie früher.

Sven
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#4

Re: createprocess und WaitForSingleObject unter NT anders wi

  Alt 23. Jun 2004, 15:36
Zitat von Sven Janssen:
Ein schlauer Geist hat in abwesenheit von mir anstatt den dcc32.exe direkt auf zu rufen das ganze durch Batch Dateien gelöst.

Das Problem sollte auch mit 'call foo.bat', 'start /wait', '%comspec% /C foo.bat' und Konsorten zu lösen sein...
  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 14:31 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