var
  FileNum: Integer;
  Map: Pointer;
begin
  GetMem(Map, 40001);
  try
    FileNum := FileOpen('map.dat', fmOpenRead or fmShareDenyNone);
    if FileNum >= 0 then
      try
        FileSeek(FileNum, 0, 0);
        FileRead(FileNum, PChar(Map)^, 40001);
      finally
        FileClose(FileNum);
      end;
    // 読み込み後の処理
  finally
    FreeMem(Map);
  end;
end;