我用C#做了一个COM,然后导成了TLB库,里面有一个事件需要在D6里捕捉。
这个事件在同一机器的VB里可以被捕捉,但是D6不可以。
在导入后编译时出错:mscorlib_TLB 文件里有一些数据类型错误!
请高手指教!注:对这个引入的TLB,用VB重新打包成OCX后,在D6里还是不能捕捉到我需要的事件,但在VB里可以。

解决方案 »

  1.   

    数据类型不通用,可能C#里定义了某个变量的类型,但是DELPHI里没有这个类型,所以编译的时候就编译不过去~!VB可以编译,因为VB也是微软的撒
      

  2.   

    要让两家的产品相互通用,还真有点难度;
    C#与delphi的数据类型,有部分相同如char,
    但还真不知微老大给不给delphi兼容
      

  3.   

    编译时mscorlib_TLB里出现错误的是下面几个地方:  Byte = packed record
        m_value: Byte;
      end;//  Double = packed record
        m_value: Double;
      end;//  Int64 = packed record
        m_value: Int64;
      end;//  Single = packed record
        m_value: Single;
      end;我认为就是这四个数据类型翻译不正确才导致控件不能正常使用,不知道有什么办法能避免这样的错误?请高手指教!