在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
看帮助的意思就是用这个来实现的可设置了怎么没有用呢?

解决方案 »

  1.   

    FUCK FUCK FUCK FUCK这个小破问题让我不知道苦恼了多少天
    终于又被我自己给搞定了………………
      

  2.   

    TO: 8009000077  你说"sb"时有没有想过其实同时是对你自己人格的侮辱?
      

  3.   

    呵呵,没办法,不能给自己加分是CSDN论坛的规则(还是蛮合理的)。
    楼主倒不如说说你是怎么解决的。
      

  4.   

    我不明白啊,自己的帖子给自己加分,自己的分没增没减吧?答案很简单:就是把要默认的属性的ID改成0,类型库编辑器默认生成的是从1开始的
    另外,只有带参数的属性才能成为默认属性。那个 Default Collection Element 是没有用的我把从ADO导入的ADODB_TLB.pas文件从头看了好多遍,才总结出这个,
    我不容易啊,所以我想给自己加分奖励一下,可惜不行……
    其实我的分够多了,我要分干什么……我只是想有劳有得,呵呵这个问题我从大概三年前就开始搞,总是没搞定,后来就不管它了
    没想到今天无意中给搞定了……不知道别人知不知道,反正以前我问了好多次都没有人告诉我……
      

  5.   

    halfdream(哈欠) 和 eastliangliang(青苹果)(行成于思毁于随) :  我看两位都是带红星的,不会缺分,或者不会在乎分吧?  所以呢我等着别人的回复,把分给需要分的人,没意见吧?
      

  6.   

    三年?前辈啊:)
    我是没意见,分有可用分和专家分两种,具体用处麽,楼主看CSDN的帮助就知道为什么这麽做了,楼主少了一分信誉,看来是不经常来CSDN,欢迎经常来分享自己的经验。
      

  7.   

    我希望能有人这样告诉我:“你的解决方法或过程是很傻的,其实xxx地方的文档说的很清楚的”