Zitat von
Motzi:
IMHO sollte das so gehn...
WriteLn(ErrOutput, 'Test');
Das Funzt
Zitat von
Marcel Gascoyne:
Du musst das
Handle von stderr ermitteln und Deiner Ausgabedatei entsprechend zuweisen:
Delphi-Quellcode:
program test_stderr;
{$APPTYPE CONSOLE}
uses
Windows, SysUtils;
var
stderr: TextFile;
handle: Integer;
begin
AssignFile(stderr,'
CONOUT$');
ReWrite(stderr);
handle := TTextRec(stderr).Handle;
TTextRec(stderr).Handle := Integer(GetStdHandle(STD_ERROR_HANDLE));
WriteLn('
Dies geht nach stdout');
WriteLn(stderr,'
Dies geht nach stderr');
TTextRec(stderr).Handle :=
handle;
CloseFile(stderr);
end.
Gruß,
Marcel
Das sieht komplizierter aus
Aber ich werd es mir mal anschaun...
Gibt es den Situationen, wo Motzi's Version nicht geht und ich lieber Marcel Gascoyne's nehmen sollte?
Werden die Konsolenausgaben als Textdadei behandelt?
Da bin ich noch nicht ganz hinter gestiegen...
Bye
Edit1: In welcher *.pas finde ich die
SDK Function
GetStdHandle
Edit2: In der
Windows.pas, wer lesen kann ist klar im Vorteil...