AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi CreateProcess + XCOPY + Pipes = HILFE!!!
Thema durchsuchen
Ansicht
Themen-Optionen

CreateProcess + XCOPY + Pipes = HILFE!!!

Ein Thema von FritzAT · begonnen am 25. Aug 2007 · letzter Beitrag vom 26. Aug 2007
 
Olli
(Gast)

n/a Beiträge
 
#4

Re: CreateProcess + XCOPY + Pipes = HILFE!!!

  Alt 25. Aug 2007, 23:32
Eigentlich irrelevant, ob Pipe oder Datei. Aber der zuletzt gepostete Code bringt u.U. des Rätsels Lösung.

Wie oben schon erwähnt, gibt es verschiedene "Kanäle" auf denen Ein- und Ausgaben von/in die Konsole stattfinden. Die komplette Struktur, welche du als Variable "start" ansprichst, sieht in C so aus:

Code:
typedef struct _STARTUPINFO {
  DWORD cb;
  LPTSTR lpReserved;
  LPTSTR lpDesktop;
  LPTSTR lpTitle;
  DWORD dwX;
  DWORD dwY;
  DWORD dwXSize;
  DWORD dwYSize;
  DWORD dwXCountChars;
  DWORD dwYCountChars;
  DWORD dwFillAttribute;
  DWORD dwFlags;
  WORD wShowWindow;
  WORD cbReserved2;
  LPBYTE lpReserved2;
  [color=darkred]HANDLE hStdInput;
  HANDLE hStdOutput;
  [b]HANDLE hStdError;[/b][/color]
} STARTUPINFO, *LPSTARTUPINFO;
Die Kanäle habe ich mal hervorgehoben. Da du nur den Ausgabekanal "STDOUT" überwachst, kann es sein, daß dir Ausgaben auf "STDERR" (fett hervorgehoben) verloren gehen. Das war mein Punkt. Daher solltest du entweder - noch nie probiert ob das geht - die Datei so öffnen, daß sie von mehreren "Benutzern" zum Schreiben verwendet werden kann (i.e. FILE_SHARE_WRITE mit angeben), oder eine zweite Datei für diesen Ausgabekanal bereitstellen um ihn abzufangen. Wenn es dann immernoch nicht geht, liegt ein anderes Problem vor, aber eigentlich sollte es das lösen.

Klartext - versuche es mal mit folgender Einfügung:

start.hStdError := tmp; (vor oder nach:
start.hStdOutput := tmp; sollte egal sein)
  Mit Zitat antworten Zitat
 


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 04:46 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