Karena akhir-akhir ini banyak sekali netizen yang bertanya, saya akan jawab saja jika ada pertanyaan bisa tinggalkan di kolom komentar.
1. Buat DLL baru
Buka VB6-->File-->Proyek Baru-->Pilih ActiveX DLL-->OK
2. Ganti nama proyek dan kelas default
Ganti nama proyek: Proyek --> Properti Proyek 1 (nama ini sesuai dengan nama proyek di formulir) --> Ganti nama "Nama Proyek" menjadi ASP2DLL di kotak dialog terbuka (setelah komponen DLL terdaftar di sistem, The metode panggilan default di asp adalah "nama proyek.nama kelas") --> OK
Ganti Nama Kelas Ubah nama menjadi Demo di jendela properti
3. Definisikan objek dasar ASP
Tambahkan modul: Proyek-->Tambahkan modul-->Pilih "Modul"-->Buka
Ganti nama modul: Project Explorer-->Module--Module1-->Rename Module1 menjadi "ASPMod" di jendela properti
Tambahkan kode modul. Kode ini berlaku untuk hampir semua komponen asp DLL yang dienkapsulasi dalam vb. Ubah saja ASP2DLL menjadi nama proyek atau tetap konsisten saat memanggil.
Copy kode kodenya sebagai berikut:
ObjContext Publik Sebagai ObjectContext
Aplikasi Publik Sebagai ASPTypeLibrary.Application
Server Publik Sebagai ASPTypeLibrary.Server
Sesi Publik Sebagai ASPTypeLibrary.Session
Respon Publik Sebagai ASPTypeLibrary.Response
Permintaan Publik Sebagai ASPTypeLibrary.Request
Sub Publik ASP2DLL_Initialize()
Pada Kesalahan Lanjutkan Berikutnya
Setel objContext = GetObjectContext
Setel Aplikasi = objContext.Item("Aplikasi")
Setel Server = objContext.Item("Server")
Setel Sesi = objContext.Item("Sesi")
Setel Permintaan = objContext.Item("Permintaan")
Tetapkan Respon = objContext.Item("Respon")
Akhiri Sub
Sub Publik ASP2DLL_Terminate()
Pada Kesalahan Lanjutkan Berikutnya
Setel Aplikasi = Tidak Ada
Setel Server = Tidak Ada
Setel Sesi = Tidak Ada
Tetapkan Permintaan = Tidak Ada
Tetapkan Respon = Tidak Ada
Setel objContext = Tidak Ada
Akhiri Sub
Evaluasi Fungsi Publik (ByRef strEval)
Redupkan EvalObject Sebagai ScriptControl Baru
EvalObject.Bahasa = "VBScript"
Eval = EvalObject.Eval(strEval)
Setel EvalObject = Tidak Ada
Fungsi Akhir
4. Simpan DLL yang baru dibuat
File-->Simpan proyek, konfirmasikan sepenuhnya, dan simpan semua modul, modul kelas, dan file proyek dalam satu folder
5. Panggil objek ASP di modul kelas
Project Explorer -> Modul Kelas -> Klik dua kali Demo untuk beralih ke editor kode modul kelas Demo, tempel kode, inisialisasi pemanggilan kelas dan penghancuran kelas, kodenya adalah sebagai berikut:
Copy kode kodenya sebagai berikut:
Sub Kelas Pribadi_Inisialisasi()
ASP2DLL_Inisialisasi
Akhiri Sub
Sub Kelas_Terminate() Pribadi
ASP2DLL_Hentikan
Akhiri Sub
Pada titik ini, kerangka DLL dasar telah selesai. Sekarang Anda dapat menyelesaikan fungsi enkapsulasi yang diperlukan sesuai dengan kebutuhan Anda.
6. Buat fungsi pengujian baru
Tempelkan dua fungsi pengujian berikut di bawah modul kelas Demo.
Copy kode kodenya sebagai berikut:
Sub Publik halo()
Respon.Tulis ("Halo Dunia!")
Keluar dari Sub
Akhiri Sub
7. Kompilasi dan hasilkan DLL
File-->Generate ASP2DLL.dll-->Pilih folder tempat proyek berada dan konfirmasi, OK. Jika tidak ada pesan kesalahan saat ini, itu membuktikan bahwa komponen dll telah berhasil dikompilasi.
8. Daftarkan dan hapus instalasi komponen
Dibuat di direktori tempat komponen ASP2DLL.dll berada
File batch "Registration.bat", masukkan:
Copy kode kodenya sebagai berikut:
iisreset/berhenti
regsvr32/sASP2DLL.dll
iisreset/mulai
File batch "Uninstall.bat", masukkan:
Copy kode kodenya sebagai berikut:
iisreset/berhenti
regsvr32 /u /sASP2DLL.dll
iisreset/mulai
Klik dua kali untuk menjalankan registrasi.bat. Jika registrasi berhasil, maka akan muncul pesan: "DllRegisterServer di ASP2DLL.dll berhasil."
9. Panggil komponen DLL yang baru dienkapsulasi dan uji fungsi dalam program ASP
Pada langkah 2, kita mengetahui bahwa "ketika komponen DLL terdaftar di sistem, metode pemanggilan default di asp adalah 'nama proyek. nama kelas'", oleh karena itu, objek harus dibuat seperti ini: set Obj = Server.CreateObject (“Nama proyek. Nama kelas”), kodenya adalah sebagai berikut:
Copy kode kodenya sebagai berikut:
<%
DimASP2DLL
Setel ASP2DLL = Server.CreateObject("ASP2DLL.Demo")
ASP2DLL.halo()
SetASP2DLL = Tidak ada
%>
10. Tautan unduhan paket termasuk file proyek dan semua konten terkait (tautan unduhan pembaruan 20110221) Unduhan paket
Beberapa hal yang perlu diperhatikan saat mengkompilasi DLL:
1. Hindari penggunaan kata kunci khusus VB sebagai nama fungsi atau variabel;
2. Reguler dan beberapa fungsi Vbscript seperti Eval perlu memuat "Proyek-->Referensi-->Microsoft Script Control 1.0" dan "Microsoft VBScript Regular Expressions 5.5";
3. Enkapsulasi tidak dapat menghasilkan peningkatan kecepatan yang penting, dan host virtual serta server jarak jauh memerlukan izin registrasi komponen;
4. Untuk nama komponen yang ada atau file dll yang dimodifikasi, Anda harus menghentikan IIS terlebih dahulu lalu memulai ulang IIS untuk mendaftarkan komponen dll;
5. Tautan unduhan versi hijau VB6 SP6 yang disederhanakan
Teks asli dari:?cateID=20 Terima kasih kepada penulis atas kerja kerasnya. Barangnya bagus, tetapi akses situsnya terlalu lambat.