在VBP文件中,有“References”和“Objects”,如下所示:
Reference=*\G{D63E0CE2-A0A2-11D0-9C02-00C04FC99C8E}#2.0#0#..\..\..\WINDOWS\system32\msxml.dll#Microsoft XML, version 2.0
Object={EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}#1.1#0; ieframe.dll
C:\path\to\dll\ieframe.dll
)。如果它不在注册表或VBP中,它在哪里获得这条路径?!答案 0 :(得分:6)
Object
用于ActiveX控件,通常编译为.ocx文件。 Reference
用于通常编译为.dll文件或.tlb文件的类型库。请注意,.ocx文件也包含typelib,所以这是非常不一致的,几乎是传统的划分。
路径和文件名是可选的,typelib ID是解决依赖关系的规范方法。只有在注册表中找不到这些内容时,才会出现自动解析策略,仅在.ocxes中搜索当前文件夹中的文件。如果找不到typelibs,当应用程序开始在当前文件夹中自动注册.ocxes时,这种最烦人的行为也会在运行时发生,并且由于缺乏在HKLM中写入的权限而经常在现代操作系统上失败。
.frm / .ctl源文件中也有Object
行。如果添加现有表单/ usercontrol,它们将附加到当前项目。
如果将.ocx类型库添加为Reference
行,则IDE通常无法加载项目,并且需要手动编辑。