接口内自定义了一个enum类型,现在需要读取出这个enum内的每一个名字。
比如:
typedef enum {
EdgeStyleSolid = 0,
EdgeStyleDash = 1,
EdgeStyleDot = 2,
EdgeStyleDashDot = 3,
EdgeStyleDashDotDot = 4,
EdgeStyleNone = 5,
EdgeStyleInsideFrame = 6
} enumEdgeStyle;[propget, id(3), helpstring("property EdgeStyle")] HRESULT EdgeStyle([out, retval] enumEdgeStyle *pVal);
[propput, id(3), helpstring("property EdgeStyle")] HRESULT EdgeStyle([in] enumEdgeStyle newVal);这个是定义,我现在需要读取出enumEdgeStyle内的所有值。
这里如果我知道有一个EdgeStyle属性,类型为enumEdgeStyle,则我可以使用:
CComBSTR bname("enumEdgeStyle");
pTypeLib->FindName(bname,0,&pTypeInfo,&memberID,&pcFount);
来找到这个enum内所有数据,但问题是,当我不知道这些信息的时候,如何判断一个属性的类型名称是什么?

解决方案 »

  1.   

    我搞定了。郁闷了半年多了,今天突然搞定,口黑口黑。
    这200分谁reply给谁。
      

  2.   

    adOpenDynamic, adLockOptimistic是定义好的,如adovbs.inc文件中:
    '---- CursorTypeEnum Values ----
    Const adOpenForwardOnly = 0
    Const adOpenKeyset = 1
    Const adOpenDynamic = 2
    Const adOpenStatic = 3
    也许我没看懂题目:)
      

  3.   

    neweb(永不言败) :
    adOpenDynamic, adLockOptimistic  都是定义过的,不是从tlb文件内读取出来的,这个是vbscript的限制,VB内可以正常使用。我分析了VBScript引擎,暂时觉得没有办法(除非保存的时候我自己替换字符串为数字)。
    所以,你说的功能很难实现。我的项目里面,智能编辑器都是我写的,我都决定放弃你想要得功能,只实现语法加亮/自动弹出变量,函数提示/事件函数生成向导/控件属性框&让界面看起来和VC一样。口可口可。