程序如下:
procedure TForm1.ProcedureName(Sender: TObject);
var
  ss: array[0..75] of Char;
  filestream: TMemoryStream;
begin
  filestream := TMemoryStream.Create;
  filestream.loadfromfile('D:\FileName.dat');
  filestream.position := 51;
  filestream.read(ss, 4);
  edit1.text := strpas(ss);
  filestream.free;
end;
问题是为什么从filestream里读不出内容,ss原来是什么数据,read完后还是什么数据.文件保证是存在的,而且数据也是对的.把鼠标放在ss上,显示的是#0 #0 #0 ...,读完之后还是,而在第51个字节开始的数据是0x31 0x31 0x31 0x31 ...
另外,怎么知道filestream.loadfromfile成功没成功啊?!我想在程序里加入如下代码:
filestream.position := 0;
filesize := filestream.size;
但为什么监视不了filesize的值呢?!鼠标放到上面没反应,在Debug里Add watch to cursor,提示我"Variable 'filesize' inaccessible here due to optimization",怎么回事儿?
还有如下的句子:
i := pos(' ', strpas(ss));
if i>0 then
ss[i-1] := #0;
为什么在第一行执行完之后,把鼠标放在i上能看到i的值,而第二句执行完之后就不可以了呢?加到watch里提示同上.
不知道Delphi里如何监视变量啊.
注:i和filesize我定义的都是word,filesize也定义成longint过,都不行.