数值形参的形参表中只能使用类型标识符,而不能使用类型。
(出自http://www.lnedu.net/oblog31/user1/20/archives/2005/776.html 8.3 (一)1、值形参)---这句话是什么意思?类型标识符不就是^,Short....function CenterPoint(Rect: TRect): TPoint;是不是上面这样声明值参就是不对的?
(出自http://www.lnedu.net/oblog31/user1/20/archives/2005/776.html 8.3 (一)1、值形参)---这句话是什么意思?类型标识符不就是^,Short....function CenterPoint(Rect: TRect): TPoint;是不是上面这样声明值参就是不对的?
解决方案 »
- TWebbrowser或者TEmbeddedWB 能修改 useragent 吗
- D7自带的idhttp get URL长度问题
- 如何屏蔽stringgrid的SelectCell事件
- 利用dbgrideh的SelectedRows和GotoBookmark批量形成字符串
- 用定时器创建线程问题
- 我的dephi是不是缺少文件》???缺少NMSMTP.dcu
- Excle问题,在线等候!
- 请帮忙解决一下错误出在什么地方怎么报溢出错误
- 如何实现文字倾斜?(编译有错误,请高手们指点,急急急!!谢谢朋友们!)
- 网络数据库及网络问题,急急,高手何在?
- delphi7插入数据有个字段要做判断,要求不要用参数的形式,还有什么方法?
- 还有人记得Turbo Delphi那个东西吗?我的怎么过期了
procedure test(R: Rect);//不可以
但若不是值参,而是变参,这样就是可以的了:
function test(var Integer): integer;
asm
//此空白函数功能:返回参数地址
end;var
A: Integer;procedure TForm1.Button1Click(Sender: TObject);
var
P: Integer;
begin
A := 3;
P := test(A);
Showmessage(Format('%p, %.8x',[@A,P]));
end;
function test(var TObject): Pointer;
asm
//此空白函数功能:返回变参的地址
//即,第一个参数值(即变参地址,由eax寄存器传来)直接成为函数的返回值(eax)
end;procedure TForm1.Button1Click(Sender: TObject);
var
P: Pointer;
begin
P := test(Sender);//将对象Sender作为参数传入
Showmessage(Format('%p, %p',[@Sender,P]));//可见经test函数处理,P值已和Sender的地址相同
end;