gpt4 book ai didi

VB6 UserControls : Differences between OCX vs. 包括在项目中

转载 作者:行者123 更新时间:2023-12-04 23:56:37 24 4
gpt4 key购买 nike

在 VB6 中,UserControl 可以编译为 OCX,然后作为引用组件包含在另一个项目中。或者,UserControl 源代码本身(即 CTL 文件)可以直接包含在 EXE 或 DLL 项目中。

这两种方法之间有一个奇怪的区别。从 OCX 使用时,Extender properties 的列表( more ) 与为控件定义的任何自定义属性无缝合并。但是当从 CTL 使用时,情况似乎并非如此。尝试在控件上使用 Extender 属性将产生编译器错误。

.Tag 属性就是一个例子。当引用为 OCX 时,此属性在 Intellisense 中可用并且编译正常。但是在使用 CTL 时,完全相同地使用此属性会产生编译时错误。

其他示例是 .Left.Top 等。我希望 VB6 对 Extender 属性一视同仁,而不管控件是如何包含的。

为什么会存在这种差异,有什么解决办法吗?

(注意:作为变通方法,当需要访问 Extender 属性时,我一直将代码中的控件称为 Object 类型。但理想情况下,为了清晰和方便,我更愿意使用实际类型编译时安全。)

最佳答案

如果您的项目中有控件的源代码,那么在与控件交互(运行其代码)时,您将在逐步调试时逐行看到它。

如果您正在逐步调试不在控件中的代码,这确实会减慢您的速度。因此,一旦您的控件工作稳定,就应该编译它并使用 OCX 引用,直到需要更改控件为止。

关于VB6 UserControls : Differences between OCX vs. 包括在项目中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38643197/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com