用VB写一个ActiveX DLL,里面用到了Collection,但是#import "testVB.dll"时,VC就出现了编译错误error C2146: syntax error : missing ';' before identifier 'cll'
error C2501: '_CollectionPtr' : missing storage-class or type specifiers在网上也找不到相关的资料,请问这是怎么回事,应该怎么做如果在VB里面没有使用Collection就可以调用成功(是用COM来访问的)

解决方案 »

  1.   

    并不是所有 COM dll 都可以 #import 的
      

  2.   

    #import "testVB.dll" no_namespace
    试试!
      

  3.   

    VB不要求编译时就知道类型,VC不行,估计你还得先导入Collection类型
      

  4.   

    我刚才试了一下,以import方式都行不通。不过好像以VC中的Automation方式导入就不会有错,但我还不会用。不知道有这方面的好资料没有。有的话,请发给我一份。[email protected]
      

  5.   

    import应该是可以的,后面加 no_namespace也不行?那加上named_guids 44
      

  6.   

    qrlvls(空 气) 说的对,
    你需要类型库,有的类型库在dll中就可以导,有的则可能在.tlb中,就要导.tlb