1

我正在使用VB6。

数据感知类是指设置了 DataBindingBehavior 或 DataSourceBehavior 属性的类。

我从 MSDN 学到了这个概念,并且通常想知道我们什么时候应该使用这种数据感知类技术?或者就像大多数开发人员忽略的数据环境设计器一样?

4

3 回答 3

3

创建数据感知类的能力只是 Visual Basic 可扩展性模型的另一个方面。除了能够创建标准类和用户控件之外,您还可以将它们创建为可插入 VB 数据绑定机制的数据感知类。

您可以包装诸如 ADO Recordset 或 ADO Data Control 之类的东西来创建更特定于应用程序的组件,或者您可以从头开始创建自己的组件来为某种不同寻常的数据提供数据绑定。您甚至可以通过结合 OLE DB 简单提供程序 (OSP) 工具包编写 VB6 数据感知类来创建基本的自定义 OLE DB 提供程序以满足不寻常的要求。

大多数这些东西今天很少使用,因为 VB6 教育非常缺乏。许多通过示例学习的程序员回避数据绑定,因为他们发现它令人沮丧。不过,这大部分是缺乏理解。相反,我们依靠编写大量类似 QBasic 的过程代码,牺牲了基于 VB6 事件编程的功能。

你会在大量的 VB.Net 和 C# 代码中看到同样的事情。人们似乎没有意识到事件驱动编程实际上比“OOPiness”的程度重要得多,但这似乎是重点所在。

了解这一点的重要性的程序员往往会在他们的 VB6 程序中使用更少的 DoEvents 循环,并且在他们的 .Net 程序中几乎没有无缘无故的多线程。

我和任何人一样对避免使用数据环境设计器和绑定控件感到内疚。我计划更多地了解它们的用途和功能,同时更多地使用 VB6 的数据报表设计器。这些是编写以数据为中心的程序的强大工具,我最近在做更多的事情。


毫无疑问,微软已经放弃了对 VB6 开发的所有支持。但这并没有说明对它的需求,它仍然很强劲。如果人们对回答有关 VB6 的问题几乎没有什么贡献,他们可能会更好地把精力花在其他地方,而不是在这里大喊大叫。很遗憾我们从未得到后续产品——支持 64 位开发的更新的 VB 会非常好。它只是不在卡片中。

于 2009-07-28T22:54:41.663 回答
1

你知道VB6有多旧吗?它大约有十岁了。您应该完全忽略从 VB6 中“学习”的任何内容。


VB6 上的一些资源:

所有这些都来自以下搜索:http ://social.msdn.microsoft.com/Search/en-US/?Refinement=22&Query=vb6 。

于 2009-07-28T11:00:43.653 回答
0

我认为大多数 VB6 开发人员都忽略了该功能。当然,我尝试过一次,再也没有使用过。如果您使用 Google DataBindingBehavior 或 DataSourceBehavior,则点击次数相对较少。

我认为 John 在他的回答中试图传达的是 VB6 不是新开发的好选择,除非您有充分的相反理由 - 例如,如果您的组织已经拥有大量 VB6 经验和大量 VB6 代码维护,并没有其他桌面编程语言的经验。在你的情况下这听起来不太可能,否则你会问你的同事这个​​问题,而不是在 Stack Overflow 上发帖!

于 2009-07-28T12:25:50.783 回答