在Delphi中导入ADO类型库后,我们可以看到TLB.pas文件中有这样的东西:.....
property Item[Index: OleVariant]: Field20 read Get_Item; default;
.....就是最后的那个“default;”,和VCL中的默认属性一样,
调用时可以是:
1. Fields.Item[I] 或者
2. Fields[I]两种方法来调用。问题是:自己做一个COM+组件时,怎么才能定义出这样的属性来呢?类型库编辑器中,在属性的Flags页有个Flag : Default Collection Element
看帮助的意思就是用这个来实现的可设置了怎么没有用呢?
property Item[Index: OleVariant]: Field20 read Get_Item; default;
.....就是最后的那个“default;”,和VCL中的默认属性一样,
调用时可以是:
1. Fields.Item[I] 或者
2. Fields[I]两种方法来调用。问题是:自己做一个COM+组件时,怎么才能定义出这样的属性来呢?类型库编辑器中,在属性的Flags页有个Flag : Default Collection Element
看帮助的意思就是用这个来实现的可设置了怎么没有用呢?
终于又被我自己给搞定了………………
楼主倒不如说说你是怎么解决的。
另外,只有带参数的属性才能成为默认属性。那个 Default Collection Element 是没有用的我把从ADO导入的ADODB_TLB.pas文件从头看了好多遍,才总结出这个,
我不容易啊,所以我想给自己加分奖励一下,可惜不行……
其实我的分够多了,我要分干什么……我只是想有劳有得,呵呵这个问题我从大概三年前就开始搞,总是没搞定,后来就不管它了
没想到今天无意中给搞定了……不知道别人知不知道,反正以前我问了好多次都没有人告诉我……
我是没意见,分有可用分和专家分两种,具体用处麽,楼主看CSDN的帮助就知道为什么这麽做了,楼主少了一分信誉,看来是不经常来CSDN,欢迎经常来分享自己的经验。