我在Delphi4中运行了一个应用程序然后我得到了 错误
000C50BC I / O错误103时数据模块中的异常EInoutError
我基本上......无法做出正面或反面....我无法通过Delphi GUI 打开/运行.exe文件但是能够运行它。
请帮助。
{
****************************************************************************
* The WritelnXx routines are used to send status information to standard
* output.
****************************************************************************
}
procedure WritelnIn(const s: string; level: integer = 0); overload;
var
i: Integer;
begin
for i := 1 to level do Write(' ');
**Writeln(s);**
end;
procedure WritelnIn(const s: string; e: Exception; level: integer = 0); overload;
begin
WritelnIn(s + '[' + e.message + ']', level);
end;
procedure WritelnAb(const s: string; level: integer = 0); overload;
begin
WritelnIn(s, level);
Abort;
end;
procedure WritelnAb(const s: string; e: Exception; level: integer = 0); overload;
begin
WritelnIn(s, e, level);
Abort;
end;
错误显示在“ Writeln; s; ”...同一文件中DataMagr.dpr
答案 0 :(得分:5)
I / O错误103是文件未打开。根据Delphi 7帮助文件:
“如果文件未打开,则由CloseFile,读/写,搜索,Eof,FilePos,FileSize,Flush,BlockRead或BlockWrite报告。”
此外,这与您提供上述链接的其他问题有什么关系?
答案 1 :(得分:4)
确保将应用程序编译为控制台应用程序{$ APPTYPE CONSOLE},因为调用Write或Writeln写入stdout并且控制台未打开,它将像这样失败。使用{$ APPTYPE CONSOLE}将产生使用启动应用程序的现有控制台的副作用,或创建一个新的控制台窗口以供使用。
另一种解决方案是将输出标准文本文件(stdout)重定向到文件。试试这个:
AssignFile(Output, 'logfile.log');
Rewrite(Output);
现在所有常规的“Write”或“Writeln”调用都将转到“logfile.log”文件。