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# , 若表达太离谱还请见谅
其实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# , 若表达太离谱还请见谅
我意思是二进制 COM 披上 托管程序 外衣不是托管程序 披上 COM 外衣
所以我就想(1) C# 编写 Com DLL , 然后给 C# 调用和(2) C# 编写 Class , 然后给 C# 调用(1) 是不是会比 (2) 来得快若不会比较快 表示 C# 编写的 COM 是完全托管的
若会比较快, 表示 C# 编写的 COM 是 "二进制 COM 再披上 托管程序 外衣"
谢谢请问(1) 用 C# 编写 Com DLL , 然后给 C# 调用和(2) 用 C# 编写 Class , 然后给 C# 调用
既然 COM程序没有任何改变(1) 是不是会比 (2) 来得快呢 ???
这问题是因为native code 应该是要用 VC++, BC++, delphi 这些来写 但是这些我都不会, 要学也得花不少气力若用 C# 编写 COM DLL 给 C# 调用就可以达到速度加速那可省下很多气力另外去学 VC我只是业余的, 写程序只是用来帮自己处理一些日常工作
恰好要用的有比较在意执行速度本来是想学 delphi (可以写 win32)
但搜集了很多资料
知道可能会遇到有哪些麻烦 (如: delphi 要调用 VC 写的 COM 可能会有问题....)
所以打算放弃 delphi
写的东西都是自用的
size大一点没关系
本来都是用 VB6 写
但是 VB6不会有 64 bits
所以要来想一下要学哪种