VB プログラミングでサードパーティ コントロールを使用する場合、プログラムはシステム ディレクトリまたはプログラム ディレクトリで使用されているサードパーティ コントロールを見つけることができる必要があります。通常、2 つの方法があります。1 つは、コントロールとプログラムを圧縮パッケージにして配布する方法です。この方法の欠点は、プログラムの伝達プロセス中にコントロール ファイルが失われる可能性があることです。 2 つ目は、インストール プログラムを作成する方法です。欠点は、作成プロセスが面倒なことです。この記事では、プログラムの実行後、コントロールを使用する前に、サードパーティ コントロールをプログラム ディレクトリに生成して、実行可能ファイルからのコントロールのシェルを完了する方法について説明します。ファイル。
具体的な手順は次のとおりです。
ステップ 1: 使用するコントロールを現在のプロジェクト ディレクトリにコピーし、コントロールを右クリックして [プロパティ] を選択し、ファイル サイズをメモします。プログラミングの目的では、何 K ではなく、具体的な数値をバイト単位で書き留める必要があることに注意してください。
ステップ 2: 通常どおりコントロールを参照して使用します。
ステップ 3: 新しいリソース ファイルを作成し、プロジェクトに追加します。リソース ファイル エディターでカスタム リソース (CUSTOM) として使用されるサードパーティ コントロールを追加します。リソース番号にはデフォルトの 101 を使用します。複数のコントロールを使用する場合は、それらをリソース ファイル内のリソース項目 101、102... にそれぞれ追加し、それに応じてシェル コードも変更する必要があります。
ステップ 4: コントロール シェル コードを記述して、リソース ファイルのデータを読み取り、プログラムの現在のディレクトリにコントロールを生成します。
コードは次のとおりです。
Private Const OCXSIZE = 57344 '生成されるコントロールのサイズは 57344Byte、名前は CoolToolBar.ocx です
サブメイン()
Dim Ocx() As Byte 'OCX は Btye 型の配列です
ディムカウンターアズロング
Ocx = LoadResData(101, CUSTOM) 'カスタムリソースのリソース番号101を配列OCXに読み込みます
Microsoft のヘルプにあるカスタム リソースのロード手順に誤りがあることに注意してください。カスタム リソースは、ヘルプに記載されている番号 10 ではなく、CUSTOM として識別されます。
If Right(App.Path, 1) = ($%$43%^#ASD#2@$#f$%^) then 'プログラムのパスを読み取り、ルート ディレクトリであるかどうかを判断し、個別に処理します
'プログラムはルートディレクトリにあります
If Dir(App.Path & CoolToolBar.ocx) = then 'プログラム パスにコントロールがありますか? 存在しない場合、コントロールが生成されます。
' コントロール (CoolToolBar.ocx) をバイナリ モードでメイン プログラムが配置されているディレクトリに書き込み (生成)
バイナリの App.Path と CoolToolBar.ocx を #1 として開きます
For Counter = 0 To OCXSIZE - 1 '0 Byteから開始するため、ファイルサイズ - 1Byteが最終値となることに注意してください
#1、 、Ocx(カウンター)を入れます
次のカウンター
閉じる #1
次の場合に終了
それ以外
'プログラムはルートディレクトリにありません
If Dir(App.Path & /CoolToolBar.ocx) = then 'プログラム パスにコントロールがありますか? 存在しない場合、コントロールが生成されます。
' コントロール (CoolToolBar.ocx) をバイナリ モードでメイン プログラムが配置されているディレクトリに書き込み (生成)
バイナリの App.Path と /CoolToolBar.ocx を #1 として開きます
For Counter = 0 To OCXSIZE - 1 '0 Byteから開始するため、ファイルサイズ - 1Byteが最終値となることに注意してください
#1、 、Ocx(カウンター)を入れます
次のカウンター
閉じる #1
次の場合に終了
次の場合に終了
Form1.Visible = True 'メイン プログラムで使用されるコントロールが生成され、メイン フォームを表示し、メイン プログラムに入ります。
エンドサブ
注: 上記のコードをモジュールとしてプロジェクトに追加し、プロジェクト間のプロパティ設定で起動オブジェクトを Sub Main として選択します。これは上記のシェル コードです。次に、EXE ファイルをコンパイルして生成し、その EXE ファイルをコントロールがインストールされていない他のコンピュータにコピーして実行し、コントロールの移植性が実現されるかどうかを確認します。