Saat menggunakan kontrol pihak ketiga dalam pemrograman VB, program harus dapat menemukan kontrol pihak ketiga yang digunakan dalam direktori sistem atau direktori program. Biasanya ada dua metode: pertama adalah membuat kontrol dan program menjadi paket terkompresi dan mendistribusikannya. Kerugiannya adalah dapat menyebabkan file kontrol hilang selama proses propagasi program. Yang kedua adalah membuat program instalasi. Kekurangannya adalah proses produksinya yang rumit. Artikel ini menjelaskan cara menyimpan kontrol pihak ketiga dalam program dalam bentuk file sumber daya khusus setelah program dijalankan dan sebelum menggunakan kontrol, kontrol yang digunakan dibuat ke dalam direktori program untuk menyelesaikan pembersihan kontrol dari yang dapat dieksekusi. mengajukan.
Langkah-langkah spesifiknya adalah sebagai berikut:
Langkah 1: Salin kontrol yang akan digunakan ke direktori proyek saat ini, klik kanan kontrol, pilih Properti, dan catat ukuran file. Perhatikan bahwa Anda harus menuliskan angka spesifik dalam byte, bukan berapa K, untuk tujuan pemrograman.
Langkah 2: Referensi dan gunakan kontrol secara normal.
Langkah 3: Buat file sumber daya baru dan tambahkan ke proyek. Tambahkan kontrol pihak ketiga yang digunakan sebagai sumber daya khusus (CUSTOM) di editor file sumber daya. Jika beberapa kontrol digunakan, tambahkan kontrol tersebut ke item sumber daya 101, 102... di file sumber daya masing-masing, dan kode shelling juga harus dimodifikasi.
Langkah 4: Tulis kode shelling kontrol untuk membaca data file sumber daya dan menghasilkan kontrol di direktori program saat ini.
Kodenya adalah sebagai berikut:
Private Const OCXSIZE = 57344 'Ukuran kontrol yang akan dihasilkan adalah 57344Byte, dan namanya CoolToolBar.ocx
Sub Utama()
Redupkan Ocx() As Byte 'OCX adalah array bertipe Btye
Penghitung Redupkan Selama
Ocx = LoadResData(101, CUSTOM) 'Baca sumber daya No. 101 dalam sumber daya khusus ke dalam array OCX
'Perhatikan bahwa ada kesalahan dalam instruksi untuk memuat sumber daya khusus di bantuan Microsoft. Sumber daya khusus diidentifikasi sebagai CUSTOM dan bukan nomor 10 yang disebutkan dalam bantuan.
Jika Benar(App.Path, 1) = ($%$43%^#ASD#2@$#f$%^) Kemudian 'Baca jalur program, tentukan apakah itu direktori root dan proses secara terpisah
'Program ini ada di direktori root
If Dir(App.Path & CoolToolBar.ocx) = Lalu 'Apakah ada kontrol di jalur program? Jika tidak, kontrol akan dihasilkan
'Tulis (hasilkan) kontrol (CoolToolBar.ocx) dalam mode biner ke direktori tempat program utama berada
Buka App.Path & CoolToolBar.ocx Untuk Biner Sebagai #1
For Counter = 0 To OCXSIZE - 1 'Perhatikan karena dimulai dari 0 Byte, maka ukuran file - 1Byte adalah nilai akhirnya
Letakkan #1, , Ocx(Penghitung)
Konter Berikutnya
Tutup #1
Berakhir jika
Kalau tidak
'Program ini tidak ada di direktori root
If Dir(App.Path & /CoolToolBar.ocx) = Lalu 'Apakah ada kontrol di jalur program? Jika tidak, kontrol akan dihasilkan
'Tulis (hasilkan) kontrol (CoolToolBar.ocx) dalam mode biner ke direktori tempat program utama berada
Buka App.Path & /CoolToolBar.ocx Untuk Biner Sebagai #1
For Counter = 0 To OCXSIZE - 1 'Perhatikan karena dimulai dari 0 Byte, maka ukuran file - 1Byte adalah nilai akhirnya
Letakkan #1, , Ocx(Penghitung)
Konter Berikutnya
Tutup #1
Berakhir jika
Berakhir jika
Form1.Visible = Benar 'Kontrol yang digunakan dalam program utama telah dibuat, tampilkan formulir utama, dan masuk ke program utama.
Akhiri Sub
Catatan: Tambahkan kode di atas ke proyek sebagai modul, dan pilih objek startup sebagai Sub Utama dalam pengaturan properti proyek-proyek, yang merupakan kode shelling di atas. Kemudian kompilasi dan buat file EXE, salin file EXE ke komputer lain yang tidak menginstal kontrol, dan jalankan untuk melihat apakah portabilitas kontrol telah tercapai.