如何用Delphi实现Collection? (100分)

  • 主题发起人 主题发起人 zoufeiyy
  • 开始时间 开始时间
Z

zoufeiyy

Unregistered / Unconfirmed
GUEST, unregistred user!
可以在VB里通过for each进行调用的?
当然也得支持如:
Add/Remove/Item[Index]/Count等方法和属性

3x
 
TObjectList不就是Collection!
 
当然不是这个意思啦,是要实现一个COM组件,类似于VB里的那个Collection的功能,
而且要求:
在Collection中可以中入接口(每个Item可以是一个Interface)
在VB中能够使用(基本上要可以代替Collection,因为我尝试着想直接在Delphi里
用VB的Collection对象,但结果总是失败,不知道为什么)

大虾多多帮忙!!!
 
没有用过vb,只能帮你up
 
没有用过vb,你要采集什么
 
用IEnumVARIANT接口,foreach不过是对IEnumVARIANT::next方法的调用。
 
可否给个demo?

我也知道要实现IEnumVariant接口,而且已经实现了该接口,但现在我出现的问题是:
比如该组件有个方法:Add(obj: Interface);
在VB里以一个Interface参数进行调用
dim a as interface
set a = new interface
xxx.add(a)
出错!报找不到该方法,可如果我把方法定义改成:
Add(obj: VARIANT);
则可以正常调用(
dim a as variant
set a = new interface
xxx.add(a)

为什么?为什么VB写的Collection可以正常使用?
可否给个demo?

3x!!!!!

 
快来人关注啊…………
 
后退
顶部