ActiveX 控件:爱他们还是恨他们?
ActiveX 控件:爱他们还是恨他们?
我总是避免在我的 Access 应用程序中使用 ActiveX 控件。除非我不能。或者不想。情况很复杂…
经过 迈克·沃尔夫 (在推特上连接: @NoLongerSet )
我对 ActiveX 控件又爱又恨。
为什么我讨厌他们
一般来说,我尽量避免使用 ActiveX 控件,原因如下:
- 这是一个 外部依赖 超出你的控制
- 他们能 复杂的部署 (特别是如果你不使用 安装程序 )
- 他们经常产生 难以调试 错误
- 他们可以导致 硬崩溃
- 他们经常有 文件不足
- 许可 可能会令人困惑,有时 昂贵的
为什么我爱他们
尽管我对 ActiveX 控件感到沮丧,但仍然有一些很好的理由使用它们:
- 他们可以提供 高级功能
- 他们 节省开发时间
- 他们能 让不可能成为可能 (与其他软件和编程语言集成)
- 他们能 提高性能 (在某些特定情况下)
我朋友的一点帮助
市场上可用的 ActiveX 控件的开发人员支持体验差异很大。
问题是您受控件开发人员的摆布。该控制开发人员可能是跨国公司,例如 ESRI .或者可能是来自罗德岛的查克,他几年前退休了,但从未完全腾出时间在他 90 年代的网站上做任何事情,但每月仍能带来几百美元的 ActiveX 控件销售额。
如果您需要支持,请不要担心,ESRI 会为您提供支持(和您的钱包)……但祝 Chuck 好运。
必要的邪恶?
ActiveX 控件并不总是一个好的选择。但有时它们是您唯一的选择。
简而言之,一些 ActiveX 控件提供的功能是 根本不可能 (或足够不切实际)用 VBA 重现。几个例子:
- 与第三方软件(ESRI GIS 等)集成
- 与硬件设备(扫描仪等)交互
- 高级表单控件(交互式日历等)
何时使用 ActiveX 控件
在尝试决定是否在项目中使用 ActiveX 控件时,我会考虑以下几点:
- 它是否提供 32 位和 64 位支持 ?
这一点至关重要,因为许多 ActiveX 控件是在 VB6 的鼎盛时期编写的,当时甚至没有考虑 64 位支持。在束缚自己之前 ** 任何** 今天的 ActiveX 控件,确保它提供 32 位和 64 位版本。 - 它是否使用 免版税许可 ?
我不想因为试图为 ActiveX 控件管理许可版税而感到头疼,因为 ActiveX 控件应该让我作为开发人员的生活 ** 更轻松** . - 是吗 积极支持 ?
老实说,除非控件将成为我的应用程序的核心,否则我不会太在意这个。有很多 ActiveX 控件已经存在了 10 多年。如果它们相对简单,那么它们的机会就不会太多了。但是,如果它看起来像一个新的(-ish)控件,我希望有一种温暖的模糊感觉,如果有什么东西坏了,就会有人来修理它。 - 在那儿 没有其他办法了 ?
如果我正在编写一个必须与其他闭源应用程序通信的 Access 应用程序,我唯一的选择可能是使用该公司提供的 ActiveX 控件。
我用过的控件
尽管我很沮丧,但我确实在我的几个应用程序中使用了 ActiveX 控件。
以下是我在项目中使用的一些 ActiveX 控件的简要示例:
- csXImage : TWAIN 扫描和简单的图像处理
- 顶点草图 :简单的二维草图软件(如轻量级 CAD)
- ESRI ArcMap :与交互式 GIS 地图集成
- 条码编码 USPS 的软件
读者最爱
您是否在 Access 应用程序中使用 ActiveX 控件?如果是这样,你有什么喜欢的吗?请在下面的评论中告诉我们。
图片来源 JackieLou DL 从 关注
最初发表于 NoLongerSet.com
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明