在扩展模型中的编程

一旦有了外接程序的框架,就可以添加代码来操作和/或扩充 Visual Basic。如第二章“扩展模型的对象与结构”所述,扩展模型可分解成许多功能组,每一个功能组影响 Visual Basic 的一个主要部分。

注意   下面的许多示例代码片断被实际程序所采用,它们分别演示了不同的集合和对象,以及它们的属性、方法和事件。正因为此,这些片断可能包含对变量和控件的引用,但在正文中没有全部予以解释。例如,许多示例引用一个名为“vbi”的变量,这是一个引用当前 Visual Basic 实例的变量。(详细信息请参阅“外接程序要素”中的“Visual Basic 实例变量”)。注意,这些示例只作为扩展模型开发的基础,而不是完整独立的程序。为了对整个特性集有更好的体会,建议在对象浏览器里查看 VBIDE 库。还建议去研究一下Samples目录中的 TabOrder 示例应用程序,找到更多的外接程序编程的例子。

以下的主题介绍扩展模型中的大部分对象功能组,并且对如何使用功能组来实现既定目标提出了建议:

注意   在使用 C++ 开发外接程序时,只要用自动化从 Visual Basic 得到指针,则必须在结束使用自动化时调用“释放”。Visual Basic 遵从标准引用计数规则。例如,在 Visual Basic 外通过调用 _NewEnum 而得到指针时就必须通过该指针调用释放。在使用 pDispatch = m_ourMenuItems.Item(pszCaption) 时,也必须使用 pDispatch->Release().