如何在VB6中声明OCX控件但不包含在窗体中
How to declare OCX control in VB6 but not contained by a form
我正在尝试在 VB6 Active X EXE 中创建 OCX 控件的第二个实例。 OCX 控件的第一个实例包含在 ActiveX EXE 的窗体中并在其中可见。我正在尝试创建第二个实例作为 ActiveX EXE class 的成员。此实例不会包含在表单中,也不会在屏幕上显示。我已经能够声明该实例,但找不到使用 New 运算符对其进行初始化的正确语法。
ActiveX VB6 模块中的声明
Private m_ZoomSigPlus2 As SIGPLUSLib.sigPlus
ActiveX_Initialize() 函数中的初始化
set m_ZoomSigPlus2 = New SIGPLUSLib.sigPlus
编译错误:New关键字的使用无效
我试图查看作为表单一部分的实例是如何初始化的,但是当包含控件时似乎没有明确的 New 操作通过一个表格。表格中的声明是
Begin SIGPLUSLib.SigPlus SigPlus1
Height = 2415
Left = 0
TabIndex = 4
Top = 0
Width = 5055
End
创建与窗体无关的 OCX 控件实例的正确方法似乎是使用 CreateObject 函数。
Private m_ZoomSigPlus2 As Object
64 Set m_ZoomSigPlus2 = CreateObject("SIGPLUS.SigPlusCtrl.1")
66 m_ZoomSigPlus2.InitSigPlus
有人问我为什么要这样做。好吧,OCX 控件可以与一些捕获传入数据的外部硬件一起使用。 OCX 也有一些处理传入数据集的方法。但是,当该处理完成时,需要关闭传入数据收集。通过创建第二个实例,我应该能够在捕获现在需要的传入数据期间处理数据集。有人可能会争辩说,OCX 的另一种更具凝聚力的设计可能已经消除了创建第二个实例的需要,但目前 table 并未对 OCX 进行重新设计。
我正在尝试在 VB6 Active X EXE 中创建 OCX 控件的第二个实例。 OCX 控件的第一个实例包含在 ActiveX EXE 的窗体中并在其中可见。我正在尝试创建第二个实例作为 ActiveX EXE class 的成员。此实例不会包含在表单中,也不会在屏幕上显示。我已经能够声明该实例,但找不到使用 New 运算符对其进行初始化的正确语法。
ActiveX VB6 模块中的声明
Private m_ZoomSigPlus2 As SIGPLUSLib.sigPlus
ActiveX_Initialize() 函数中的初始化
set m_ZoomSigPlus2 = New SIGPLUSLib.sigPlus
编译错误:New关键字的使用无效
我试图查看作为表单一部分的实例是如何初始化的,但是当包含控件时似乎没有明确的 New 操作通过一个表格。表格中的声明是
Begin SIGPLUSLib.SigPlus SigPlus1
Height = 2415
Left = 0
TabIndex = 4
Top = 0
Width = 5055
End
创建与窗体无关的 OCX 控件实例的正确方法似乎是使用 CreateObject 函数。
Private m_ZoomSigPlus2 As Object
64 Set m_ZoomSigPlus2 = CreateObject("SIGPLUS.SigPlusCtrl.1")
66 m_ZoomSigPlus2.InitSigPlus
有人问我为什么要这样做。好吧,OCX 控件可以与一些捕获传入数据的外部硬件一起使用。 OCX 也有一些处理传入数据集的方法。但是,当该处理完成时,需要关闭传入数据收集。通过创建第二个实例,我应该能够在捕获现在需要的传入数据期间处理数据集。有人可能会争辩说,OCX 的另一种更具凝聚力的设计可能已经消除了创建第二个实例的需要,但目前 table 并未对 OCX 进行重新设计。