有没有可用的VBP(Visual Basic 6项目)文件?

时间:2011-05-24 13:46:40

标签: vb6 visual-studio-6

是否有关于VBP(Visual Basic项目)文件中使用的键/值的可用文档?我正在努力更好地理解VBP如何在内部处理引用。

示例行:

  

参考= * \∈{BF204980-5E29-4945-AEB5-DDB284C568D3}#1.0#0#.. \ Project1.dll#PROJECT1

2 个答案:

答案 0 :(得分:6)

[MS-OVBA]

中描述了引用的语法
LibidReference     = "*\" LibidReferenceKind LibidGuid 
                     "#" LibidMajorVersion "." LibidMinorVersion 
                     "#" LibidLcid 
                     "#" LibidPath 
                     "#" LibidRegName

<LibidReferenceKind>: 

%x47 (G) <LibidPath> specifies a Windows file path.

%x48 (H) <LibidPath> specifies a Macintosh path.    

<LibidGuid>: The GUID of the Automation type library.

<MajorVersion>: An unsigned integer that specifies the
major version of the Automation type library.

<LibidMinorVersion>: An unsigned integer that specifies the
minor version of the Automation type library.

<LibidLcid>: The LCID of the Automation type library.

<LibidPath>: The path to the Automation type library.

<LibidRegName>: The Automation type library’s display name

答案 1 :(得分:3)

很抱歉,我在网上找到的最好的只是概述(http://www.securitypronews.com/it/applicationdevelopment/spn-19-20020115VisualBasicProjectFilesStructure.html)。

另请注意,VB Forms中使用的ActiveX控件将在* .frm文件中包含引用条目。

我猜你正在寻找开发ActiveX项目(无论是EXE,DLL还是OCX)。如果这是你的目标,这是我的建议:

(1)了解二进制兼容性设置。

(2)优良作法是使用.cmpProject1.dll.cmp添加引用可执行文件,例如Reference=。当你查找二进制兼容性时,你会知道我的意思。

(3)在VirtualPC内部开发VB6 ActiveX项目; VB6 ActiveX开发给Windows注册表带来了很多磨损。

(4)当VB有理由找到ActiveX对象时,BF204980-5E29-4945-AEB5-DDB284C568D3设置中DLL / EXE / OCX的文件路径将发生变化;它将与它在注册表中找到的任何东西一起使用(最新的注册胜利)。此外,还有“升级ActiveX控件”设置可以进行更改的项目属性。

(5)除了通过适当的二进制兼容性管理可以达到的程度之外,您几乎无法控制VB6将生成的GUID或类型库。


以下是我所知道的 - 从上面的例子中可以看出

1.0表示ActiveX对象的GUID。

0表示ActiveX对象的版本。

..\Project1.dll表示......我不知道。

Project1是ActiveX DLL(或曾经)所在的(相对)路径。

{{1}}是ActiveX对象的(友好)名称。