我需要编写调用DllRegisterServer时运行的代码.即当有人打电话时:
regsvr32 myActiveX.ocx
Run Code Online (Sandbox Code Playgroud)
我正在尝试找到所需注册表项的最终列表(而不仅仅是我可以通过注册表拼写一起拼凑起来).
到目前为止,我的探险队发现:
HKEY_CLASSES_ROOT
\MyCoolLibrary.MyCoolControl
\Clsid
(default) = "{myClassId}"
\CLSID
\{myClassId}
\Control
\InprocServer32
(default) = "c:\foo\myActiveX.ocx"
ThreadingModel = "Apartment"
\MiscStatus
\1
(default) = 205201
\ProgID
(default) = "MyCoolLibrary.MyCoolControl"
\ToolboxBitmap32
(default) = "c:\foo\myActiveX.ocx,1"
\TypeLib
(default) = "{myTypeLibraryGuid}"
\Verb
\0
(default) = "Properties,0,2"
\Version
(default) = "1.0"
\TypeLib
\{myTypeLibraryGuid}
\1.0
(default) = "MyCoolLibrary.MyCoolControl"
Run Code Online (Sandbox Code Playgroud)
现在,关注点: - Control文件夹包含什么?它的存在是否表示控制? - 什么是205201的MiscStatus呢?205202会做什么呢? - 什么是动词"属性,0,2"?哪里是"属性,0,0"和"属性,0,1"?
换句话说,我正在寻找文档.
我的任务是复活VB6项目,自从我与VB6合作以来已经过了很长时间。
这是我的问题。
项目A是一个ActiveX EXE项目。在同一个项目组中,还有另一个ActiveX EXE项目。项目B。项目B包含clsCommon (clsCommon.cls)
项目A需要使用的内容,例如:
Private clsCommonA as ProjectB.clsCommon
Run Code Online (Sandbox Code Playgroud)
当我尝试将项目B的输出exe(而不是vbp)添加到项目A的引用中时,出现错误 Project 'Project B.vbd' can not be referenced because it's project type is EXE.
有人可以提醒我如何在EXE中引用类吗?(在输出为ActiveX DLL的项目组中的项目中引用类时,我没有遇到任何麻烦)
顺便说一句:我认为这甚至可能仅是因为20年前的某个开发人员显然已经进行了这项工作。