我在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;
Run Code Online (Sandbox Code Playgroud)
错误显示在" Writeln(s); "...在同一文件DataMagr.dpr中
I/O错误103是文件未打开.根据Delphi 7帮助文件:
"如果文件未打开,则由CloseFile,读/写,搜索,Eof,FilePos,FileSize,Flush,BlockRead或BlockWrite报告."
此外,这与您提供上述链接的其他问题有什么关系?
确保应用程序被编译为控制台应用程序 {$APPTYPE CONSOLE} 因为调用 Write 或 Writeln 写入 stdout 并且控制台未打开,它会像这样失败。使用 {$APPTYPE CONSOLE} 会产生副作用,要么使用启动应用程序的现有控制台,要么创建一个新的控制台窗口来使用。
另一种解决方案是将输出标准文本文件 (stdout) 重定向到文件。尝试这个:
AssignFile(Output, 'logfile.log');
Rewrite(Output);
Run Code Online (Sandbox Code Playgroud)
现在,所有常规“Write”或“Writeln”调用都将转到“logfile.log”文件。
| 归档时间: |
|
| 查看次数: |
8324 次 |
| 最近记录: |