这段程序运行出错,请大家帮我看看为什么会有错误,要怎么改。(100分)

  • 主题发起人 主题发起人 冰封
  • 开始时间 开始时间

冰封

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.Button1Click(Sender: TObject);<br>var<br>&nbsp; hdl: Integer;<br>&nbsp; Buffer: PChar;<br>begin<br>&nbsp; buffer:=pchar(allocmem(4));<br>&nbsp; hdl:=fileopen('c:/a.dat',fmOpenread);<br>&nbsp; if hdl=-1 then showmessage('no open')<br>&nbsp; else<br>&nbsp; begin<br>&nbsp; &nbsp; fileseek(hdl,0,0);<br>&nbsp; &nbsp; fileread(hdl,buffer,4);<br>&nbsp; &nbsp; showmessage(buffer[0]);//运行到这句的时候错误。<br>&nbsp; end;<br>&nbsp; fileclose(hdl);<br>end;<br>
 
类型不匹配把!
 
不是类型问题。
 
当对buffer进行相关运算时都会出错。
 
&nbsp; &nbsp;showmessage(Strpas(buffer[0]));即可
 
该成这样<br>fileread(hdl,buffer^,4);<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;^^^^^^^<br>还有应该读3个字节, 要不就把缓冲区开大一点.
 
后退
顶部