Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2341386
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:07:22

由于 Pascal (Delphi) 语言与 C 语言函数默认情况下在内部传递参数的方式不同
Borland 采用 __fastcall 这种在 Delhpi 和 C++ 兼容的传递参数格式, 让 BCB 可以直接使用 Delhpi 的函数。
在 BCB 里面遇到 __fastcall 一般都是和 Delphi 兼容的函数。

微软的 API 函数采用了 pascal 参数传递格式, 以前的 API 函数都使用 PASCAL 关键字声明
Windows 98 版本之后, 可能是 M$ 觉得 pascal 这个字眼比较难看 (像 delphi ?) 在 API 函数里面用 #define 定义了 WINAPI
并且在书写上用 WINAPI 逐渐替代了 PASCAL 这个单词,现在仍然可以用 PASCAL 替换 WINAPI 这个关键字

__property 是 Borland 的关键字, 用来声明一个属性或事件的, 格式为:
__property 变量类型 属性或事件名 = { read = 读属性, write = 写属性, default = 默认值 | nodefault };

“读属性”可以是函数,一个返回值与属性的变量类型相同的, 没有参数的函数
“读属性”也可以是一个变量,与属性变量类型相同的一个变量
读这个属性,就相当于调用 read 后面的“读属性”函数,或者读“读属性”这个变量。

“写属性”可以是函数,一个参数类型与属性类型相同的函数
“写属性”也可以是变量,与属性变量类型相同的一个变量
写这个属性(改值),就相当于调用 write 后面的函数,或者写“写属性”这个变量

default 是可视化控件里面用的,表明这个属性值如果采用了默认值,就不储存在 .dfm 文件里,反过来如果 .dfm 里没有,就用默认值
nodefault 也是可视化控件里面用的,表明这个属性值一定要储存在 .dfm 文件里,反过来,如果 .dfm 文件里没有,会出错
如果不是可视化的控件,只是普通的类,不能使用 default 和 nodefault.

另外一个就是 __property 里面还可以用 index 关键字, 如下格式:
__property 变量类型 属性 = { read = 函数名, index = 整数 };
在读这个属性时,调用 read 后面的“函数名”函数,参数为 index 后面的“整数”值

--------------------next---------------------

阅读(1121) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~