只能用强制类型转换吗

解决方案 »

  1.   

    我想把一些程序改成activex控件,
    其中有这样的函数  Func(unsigned char *p), 不知怎么把这个函数改成方法,vc,vb中又是怎么传递参数。
      

  2.   

    1。long 型可以的!在activex里面强制转换为你想要的类型
    2。如果是unsigned char *的话可以用LPCTSTR
      

  3.   

    使用强制类型转换可以的,但感觉不规范,vc中使用还好,vb中非常麻烦。如果要和activex控件交换大量数据,大家都是怎么做的。
      

  4.   

    1,用long
    2,包装成接口指针
    3,用variant包一下
      

  5.   

    交换大量数据交换大量数据肯定得用指针了!
    1.vb -vc 用LPCTSTR就可以了!不需要任何的转换2.vc-vb用BSTR  这样得麻烦一点
     也可以用返回值,返回string
      

  6.   

    我的意见是不要把入参和出参混合在一起!入参用LPCTSTR出参用返回值返回string实现起来较简单!有多个出参可以用特殊的符号间隔开!或者事先规定好长度
      

  7.   

    com的接口不能用char*的,用BSTR*
    类型转换
    1/char*  -->  BSTR*
    BSTR == CComBSTR
    CComBSTR bstr = "this is char string";
    2/BSTR*  -->  char*
    char buf[100];
    BSTR* pbstr;
    wcstombs(buf,pbstr,100);
      

  8.   

    看你在什么环境下使用了。接口就是双方通讯的协议。
    我在IE中的同一个页面上的两个MFC写的Active之间互相传递CWnd*都没有问题。
    不同语言之间用自动化能支持的类型,例如long,BSTR,IDispatch*等等都可以