#99 Article 500 Posted at 1992/10/12 18:43:29 by ☆まちばり☆ (MAP641) [PASCAL.Q]
Subject: {$I-} {$I+} 処理
{$I-} と {$I+} 処理がどうもうまくいきません。
以下のprocedureで、ファイルがなかったらルーチンを飛ばす、としたい場合には
どのように回避すればいいのでしょうか。
procedure datread;
var id:integer;
begin
assign(fp,'d:\logdir\mapwrite.dat');
reset(fp);
while not eof(fp) do
begin
readln(fp,id); readln(fp,user^[id]); readln(fp,num[id])
end;
close(fp)
end;
assignの前に{$I-}、if ioresult=0 then ~ という形にすると、そのあと
{$I+} かけた時点でハングアップします。なぜ・・・・?
(ハングアップするのはファイルが存在しなかった場合のみ)
MAP641 まちばりあかね☆