{$I-}
、別名を使用する古いDelphiコード(Turbo Pascalコードとして作成された可能性もあります)があります。これにより、コードはディスクI/Oエラーの例外の代わりにIOResultを使用します。{$
IOCHECKS
OFF}
を取り除き、{$I-}
このコードを1990年代に持ち込みたいのですが、そのためには、すべてがの影響を受けるものを知りたいと思い{$IOCHECKS OFF}
ます。これは、AssignFile / Reset / Rewrite / Append/CloseFileのような古い組み込みのI/O関数にのみ影響しますか?それとも、TFileStreamのようなより現代的なものにも影響しますか?さらに重要なことに、私が考えていない他に何が影響を受ける可能性がありますか?(Delphi Basicsは、MkDirとRmDirにも影響することを示唆しています。これらに影響する場合は、さらに多くの機能が必要です。)
Delphi 2007ヘルプトピック「入出力チェック(Delphi)」(ms-help://borland.bds5/devcommon/compdirsinput_outputchecking_xml.html
)には、これは「I / Oプロシージャ[s]」に影響し、「I/OプロシージャはDelphi言語ガイドに記載されています」と記載されています。CodeGearは言語ガイドを出荷したことがなく、Borlandが最後に出荷したのはDelphi 5だったので、これはあまり役に立ちません。
どの関数とクラスが下で異なった振る舞いをし{$I-}
ますか?
編集:受け入れられた答えはいくつかの素晴らしい背景を提供しますが、アルファベット順のリスト形式の簡単な要約があります:システムユニットからの次のルーチンに{$IOCHECKS OFF}
のみ影響します。
- 追加する
- BlockRead
- BlockWrite
- ChDir
- CloseFile
- Eof
- Eoln
- 消去
- FilePos
- ファイルサイズ
- 流す
- MkDir
- 読む
- Readln
- 名前を変更
- リセット
- リライト
- RmDir
- 求める
- SeekEof
- SeekEoln
- SetLineBreakStyle
- 切り捨てる
- 書く
- Writeln