http://webcache.googleusercontent.com/search?q=cache:KsHt3HSVtgkJ:www.builder.com.cn/2007/1112/626966.shtml+C%23+ActiveX+%E6%89%98%E7%AE%A1&cd=10&hl=zh-TW&ct=clnk&gl=tw&source=www.google.com.tw以上这篇文章有提到 当 C# 调用 诸如 VC6编写的 ActiveX 二进制 DLL 时
其实Active X组件被加入Visual C#的"工具箱"时,
Visual Stuio .Net其实对ActiveX组件进行了很多操作,
而这些操作又都被Visual C#隐藏了,使用者往往并不完全清楚。
这些操作的作用就是把非托管的ActiveX组件转换成托管的组件
=== 问题1 也就是说   ActiveX 二进制组件 虽然被转换成托管的组件
但是 ActiveX DLL 本质还是 二进制, 只是外面多给他一道包装 , 请问这样理解对吗 ??
=================================================问题1 延伸 如果是直接 用 C# 编写  ActiveX DLL (COM)
请问 C# 编写的 ActiveX DLL / ActiveX OCX  内部本质是以下哪一种(1)
二进制 ActiveX DLL + 外面加上一层托管的外衣
就像一只虎给他披上羊皮, 虽然它看起来像羊, 但是本质上它还是一只老虎
   
(2)
完全托管 ActiveX DLL ( 意即 ActiveX DLL 内部的代码不是二进制 )
就像一只羊给他披上羊皮, 他绝对100%是一只真正的羊
我还不会写 C# , 若表达太离谱还请见谅

解决方案 »

  1.   

    托管程序披上COM外衣...你理解反了....NET支持COM仅仅是为了兼容老标准,不管是本质还是表现都是100%的托管程序...
      

  2.   


    我意思是二进制 COM  披上 托管程序 外衣不是托管程序 披上 COM 外衣
      

  3.   

    啊,不好意思...看错了,以为是说.NET程序注册为COM...调用没有什么外衣,仅仅是为了COM程序生成了一个主互操作程序集,相当于一个适配器...COM程序没有任何改变...
      

  4.   

    有人跟我说: 你可以用 VC6 编写 "二进制的 Com DLL 或 OCX"  , 然后给 C# 调用, 这样可以让执行速度加快
    所以我就想(1) C# 编写 Com DLL  , 然后给 C# 调用和(2) C# 编写 Class  , 然后给 C# 调用(1) 是不是会比 (2) 来得快若不会比较快 表示 C# 编写的 COM 是完全托管的
    若会比较快,  表示 C# 编写的 COM 是 "二进制 COM 再披上 托管程序 外衣"
      

  5.   


    谢谢请问(1) 用 C# 编写 Com DLL , 然后给 C# 调用和(2) 用 C# 编写 Class , 然后给 C# 调用
    既然 COM程序没有任何改变(1) 是不是会比 (2) 来得快呢 ???
      

  6.   

    .NET的优势之一是完全没有DLL地狱之忧,没有跨平台改写及编译之苦(至少在Windows家族平台上)...如果你这么用.NET,就抛弃了.NET的优势...如果你那么注重“执行速度”,托管程序可以直接调用native code,何必又搞个COM出来高不成低不就的...
      

  7.   

    不见得...CLR库可是微软的产品,内部大量调用native code,你未必能比CLR做的更好...
      

  8.   


    这问题是因为native code 应该是要用 VC++, BC++, delphi 这些来写  但是这些我都不会, 要学也得花不少气力若用 C# 编写 COM DLL 给 C# 调用就可以达到速度加速那可省下很多气力另外去学 VC我只是业余的, 写程序只是用来帮自己处理一些日常工作
    恰好要用的有比较在意执行速度本来是想学 delphi (可以写 win32)
    但搜集了很多资料
    知道可能会遇到有哪些麻烦 (如: delphi 要调用 VC 写的 COM 可能会有问题....) 
    所以打算放弃 delphi
      

  9.   

    使用vc6写一个ActiveX,那么安装到客户端的类库(CAB文件中的)通常只有几百k字节。使用vb6来写一个ActiveX,相比vc6要快捷方便得多,但是安装到客户端的类库(CAB文件中的)需要将近2M字节。使用.net,你自己算吧,需要多大?
      

  10.   


    写的东西都是自用的
    size大一点没关系
    本来都是用 VB6 写 
    但是 VB6不会有 64 bits
    所以要来想一下要学哪种
      

  11.   

    size大一点?你没有注意看懂我说的“类库”是什么意思吧?你试一试,假设用户只需要2秒种、20秒钟,和至少20分钟才能访问,用户会抛弃哪一个网页?