我的书上的一段代码运行到*号那行时出错提示:"Project Project1.exe raised exception clase EinoutError with message 'I/O error 105'.Process stopped.Use Step or Run to continue."procedure changevalue(x:integer);
var
intptr:^integer;
begin
intptr:=@x;
writeln(intptr^); {*就是这行出错*}
intptr^:=20;
end;procedure TForm1.Button1Click(Sender: TObject);
var
param:integer;
begin
param:=10;
changevalue(param);
writeln(param);
end;为什么会出错?怎样改正?
var
intptr:^integer;
begin
intptr:=@x;
writeln(intptr^); {*就是这行出错*}
intptr^:=20;
end;procedure TForm1.Button1Click(Sender: TObject);
var
param:integer;
begin
param:=10;
changevalue(param);
writeln(param);
end;为什么会出错?怎样改正?
解决方案 »
- 注册表键值为空的话读出来的值是什么?
- 关于STRING数据类型请教
- 如何用API实现发送数据到串口,然后接收来自串口的状态值?
- 一个写文件的小问题!
- 在线苦等fcTreeView的问题
- 给大家介绍一个好站点,http://www.dev-club.com,开发者俱乐部,里面有不少高手
- 请教如何用DELPHI控制EXCEL???
- 怎么取得一个机器中网卡的序列号??
- 在线求证,如何为自己的程序增加共享时间限制功能?!各位给点思路
- 我在李维的分布式多层应用电子商务篇里使用internetexpress建立分布式web应用系统中
- 如何在远程机子上调用一个com+的方法!com+新手提问
- 如何让一个程序只打开一个窗口?
改为showmessage试试:
procedure changevalue(x:integer);
var
intptr:^integer;
begin
intptr:=@x;
//writeln(intptr^); {*就是?行出?*}
showmessage(inttostr(intptr^));
intptr^:=20;
end;procedure TForm1.Button1Click(Sender: TObject);
var
param:integer;
begin
param:=10;
changevalue(param);
showmessage(inttostr(param));
//writeln(param);end;
intptr^:=20 没有改变param的值?是不是x和param之间是形参传递,两个变量之间的地址不同?