Einzelnen Beitrag anzeigen

Benutzerbild von arc
arc

Registriert seit: 6. Nov 2009
Ort: Elbflorenz
62 Beiträge
 
FreePascal / Lazarus
 
#7

AW: D7 Unterschiedliches Fehlerverhalten IDE / Standalone

  Alt 3. Jan 2013, 20:04
Das Problem ist gelöst. Natürlich war es etwas völlig anderes...

Ich nutze eine Funktion um herauszufinden, ob mein Projekt als Konsolenvariante oder mit GUI kompiliert wurde. Diese Funktion war schuld.

Code:
function IAmAConsoleApp: Boolean;
var
  Stdout: THandle;
begin
  Stdout := GetStdHandle(Std_Output_Handle);
  Win32Check(Stdout <> Invalid_Handle_Value);
  Result := Stdout <> 0;
end;
In der IDE hat sie brav false zurückgegeben, als Standalone jedoch true!! Damit wurden Debug WriteLn() Ausgaben getriggert, was zu besagtem E/A Fehler führte. Darauf muß man erstmal kommen!

Nun habe ich es so geändert:
Code:
function IAmAConsoleApp:Boolean;
begin
{$IFDEF CONSOLE}
  result:=true;
{$ELSE}
  result:=false;
{$ENDIF}
end;
Sicher, die Funktion ist ansich überflüssig, aber ich habe sie bereits an einigen Stellen im Code eingesetzt. Und es funktioniert.

Danke an alle die geholfen haben, ich fühle mich jetzt als könnte ich Berge versetzen
  Mit Zitat antworten Zitat