3

VBP(Visual Basic Project)ファイルで使用されるキー/値に関する利用可能なドキュメントはありますか?VBPが内部で参照を処理する方法をよりよく理解しようとしています。

行の例:

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

4

2 に答える 2

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
于 2012-07-10T22:38:35.923 に答える
3

申し訳ありませんが、ネット上で見つけた最高のものは概要だけです(http://www.securitypronews.com/it/applicationdevelopment/spn-19-20020115VisualBasicProjectFilesStructure.html)。

また、VBフォームで使用されるActiveXコントロールには、*。frmファイルに参照エントリがあることに注意してください。

ActiveXプロジェクト(EXE、DLL、またはOCX)の開発を検討していると思います。それがあなたの目的であるならば、ここに私のアドバイスがあります:

(1)バイナリ互換性の設定について学びます。

(2)参照実行可能ファイルに。.cmpなどの接尾辞を付けることをお勧めしますProject1.dll.cmp。バイナリ互換性を調べると、私が何を意味するのかがわかります。

(3)VirtualPC内でVB6ActiveXプロジェクトを開発します。VB6 ActiveX開発は、Windowsレジストリに多くの損耗をもたらします。

Reference=(4) VBがActiveXオブジェクトを見つける理由がある場合、設定内のDLL / EXE/OCXへのファイルパスが変更されます。レジストリで見つかったものに対応します(登録する最新のものが優先されます)。また、変更を加えることができるプロジェクトプロパティを設定する「ActiveXコントロールのアップグレード」があります。

(5)適切なバイナリ互換性管理を介して達成できる程度を除いて、VB6が生成するGUIDまたはタイプライブラリをほとんどまたはまったく制御できません。


これが私が知っていることです-上記のあなたの例から、

BF204980-5E29-4945-AEB5-DDB284C568D3は、ActiveXオブジェクトのGUIDを示します。

1.0は、ActiveXオブジェクトのバージョンを示します。

0...わかりません。

これ..\Project1.dllは、ActiveX DLLが配置されている(または配置されていた)場所への(相対)パスです。

Project1、ActiveXオブジェクトの(わかりやすい)名前です。

于 2011-05-24T16:42:12.427 に答える