我用DELPHI写了一个COM服务器,使用了COM的事件,在一个事件中传递多个参数,在VC++客户端中调用时只有第一个参数是正确的,其他参数不知道是没传递过去还是怎么会事,反正就是不正确,各位大侠看看是什么问题(在DELPHI客户端中调用没任何问题):procedure onText(CONST text1,text2,text3:widestring);
       只有 text1有正确值,其他参数完全不正确

解决方案 »

  1.   

    对不起,我现在也在学com,所以也只好帮你up,关注
      

  2.   

    我原来用delphi 写过com的东西让vb调用,好像没有问题呀,你看看vc 是不是传递参数是否正确
      

  3.   

    也许和参数传递方向有关吧 Delphi默认从左往右 C++从右往左 不确定 你找找相关资料
    还有可能如果编译使用不是在一个os下,比如在2000下编译的到98下去用 有时也有各种奇怪的问题 
    随便说说阿 不对了莫恼 呵呵
      

  4.   

    应该是没有问题的,你先到 *.tlb文件中查看你定义的方法参数!调用的时候,注意参数匹配!
      

  5.   

    不是参数调用方式的问题,delphi和c++都是用的从左到右呀!(stdcall).应该是你的数据类型widestring 出了问题了吧。
      

  6.   

    可能是调用约定问题。try safecall;