Vb6 是否有任何可用的VBP(Visual Basic 6项目)文件文档?

Vb6 是否有任何可用的VBP(Visual Basic 6项目)文件文档?,vb6,visual-studio-6,Vb6,Visual Studio 6,是否有关于VBP(Visual Basic项目)文件中使用的键/值的可用文档?我试图更好地理解VBP如何在内部处理引用 示例行: 参考=*\G{BF204980-5E29-4945-AEB5-DDB284C568D3}#1.0#0#..\Project1.dll#Project1 对不起,我在网上找到的最好的只是一个概述() 还要注意,VB窗体中使用的ActiveX控件将在*.frm文件中具有引用项 我猜您正在寻找开发ActiveX项目(无论是EXE、DLL还是OCX)。如果这是你的目标,我的建

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

示例行:

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


对不起,我在网上找到的最好的只是一个概述()

还要注意,VB窗体中使用的ActiveX控件将在*.frm文件中具有引用项

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

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

(2) 使用
.cmp
作为参考可执行文件的后缀是一种很好的做法,例如
Project1.dll.cmp
。当你查找二进制兼容性时,你就会明白我的意思了

(3) 在VirtualPC中开发VB6 ActiveX项目;VB6 ActiveX开发会对Windows注册表造成很大的磨损

(4) 当VB有理由定位ActiveX对象时,
Reference=
设置中DLL/EXE/OCX的文件路径将发生更改;它将与它在注册表中找到的任何内容(最新注册的wins)一起使用。此外,还有“升级ActiveX控件”设置可以进行更改的项目属性

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


以下是我所知道的-从你上面的例子中

BF204980-5E29-4945-AEB5-DDB284C568D3
指示ActiveX对象的GUID

1.0
表示ActiveX对象的版本

0
表示。。。我不知道

。\Project1.dll
是ActiveX dll所在位置的(相对)路径


Project1
是ActiveX对象的(友好)名称。

引用的语法描述如下:

LibidReference=“*\”LibidReferenceKind LibidGuid
“LibidMajorVersion”“LibidMinorVersion”
“#”LibidLcid
“#”LibidPath
“#”LibidRegName
: 
%x47(G)指定Windows文件路径。
%x48(H)指定Macintosh路径。
:自动化类型库的GUID。
:一个无符号整数,用于指定
自动化类型库的主要版本。
:一个无符号整数,用于指定
自动化类型库的次要版本。
:自动化类型库的LCID。
:自动类型库的路径。
:自动化类型库的显示名称

这些信息都是很好的建议。关键是在关闭兼容性的情况下编译dll/ocx,然后将该文件复制到CMP文件,并在兼容性设置为二进制的情况下重新编译,指向CMP文件作为参考文件(要与兼容)。如果您出于任何原因中断了compat,VB将警告您。但是,请记住,您可以+更改方法签名,或添加新方法,但在技术上不会破坏兼容性,但在兼容性方面仍然会导致问题,因此在更改方法签名或添加新方法/属性等时要小心。非常感谢您的回答。回答不错。还有手册,虽然没有解释这些引用也是十六进制的(我有一个DLL,是1e.0)
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