我封装了一个类,想将其打包在VB里应用.
在封装COM dll之前,所有的代码都经过了测试,运行没有问题.现在com dll编译也通过了,在VB中也能找到该COM的方法和属性,但只要调用方法就提示执行了非法操作,我估计是类的构造函数初始化出了问题.想请问各位遇到此类问题如何调试?如果涉及到构造函数,应该如何处理?本人第一次封装COM dll,请专家高手指教!

解决方案 »

  1.   

    你的数据类型对不对,用delphi做comdll的话你要考虑到象VB,VC等并没有delphi的一些数据类型,所以一定要使用通用数据类型
      

  2.   

    数据类型?delphi给接口的没什么类型,我字符串就用了BSTR,bool类型用的是variantbool.
    int就是用的int了,请问u2m,这样行吗?
      

  3.   

    u2m(UpToMe) 这几天忙还泡csdn?哈,也不去找我们玩
      

  4.   

    stdcall系统自动加的,肯定写了.
    好像据我的推测,是构造函数这一块出了问题.
    因为我的类在Delphi里面由上层调用时,都用到了xxxx := Txxxx.create这样的语句进行初始化.
    但在vb中我没法这样实现啊,因为我没办法把 constructor create函数也封装象外并提供.
    请大家帮帮忙,本人在线等候,多谢!
      

  5.   

    : myling(阿德) 我马上2星了,正努力呢,差最后50分了
      

  6.   

    有没有用到COM.如果用到的话,你要调用CoInitiaLize(nil);进行初始化,调用unCoInitiaLize进行析构.