代码如下,从网络上找到资源,奇怪的是在开发环境下都没有问题,但是编译承exe后就会报错代码:text1是一个文本框控件,代码的用意是列出文本框控件所有的属性的属性名称1.   Dim tliN As tli.InterfaceInfo
2.   Dim pro As tli.MemberInfo
3.   Set tliN = tli.InterfaceInfoFromObject(Text1)
4.   For Each pro In tliN.Members
5.       Debug.Print pro.Name
6.   Next问题:
在开发环境下一切都没问题,但编译成exe文件,每当执行到第4句时就会报 Object doesn't support this action 的错误,望各位高手赐教

解决方案 »

  1.   

    部件不支持这种操作,tli是什么东东?
      

  2.   

    tli是什么?EXE中的类模块,还是另外一个activeX DLL工程?
    如果是后面一种情况,请注意编译的时候先编译DLL工程,然后将EXE的引用指向编译结果再编译。第二次编译DLL的时候注意对前一次的编译结果进行二进制兼容,如果没有新增、修改、删除任何public声明的东西没必要再编译EXE
      

  3.   

    tli是引用的typelib info的类库,是微软自带的,相关的dll文件是system32\tlbinf32.dll,作用是枚举对象的属性
      

  4.   

    本人想用这个typelib info的功能,模访.net中的反射功能自动给控件赋值,思想是这样的
    比如自定义一个"学生"对象objStudent,分别由属性name,age等等,那么只要这个对象实例化后,通过在窗体中找到控件名称为name,age的文本框,则将objStudent的name,age属性的值自动赋于文本框,这样当对象的属性很多的时候就能省掉text1.text=objStudent.name等这些大量的赋值操作。
        实际应用中在开发环境中已实现上述功能,但一但编译成EXE文件,就回报错,目前急切需要高手解释下为什么会这样。
      

  5.   

    没有办法的,可能这个东西只能再VBIDE里面使用...就跟以前那个动态后期执行代码一样,也只能再IDE里面用,郁闷.