เนื่องจากช่วงนี้มีชาวเน็ตเข้ามาถามกันเยอะมาก ผมจะเรียบเรียงให้นะครับ หากมีคำถามอะไร สามารถทิ้งไว้ในความคิดเห็นได้เลย
1. สร้าง DLL ใหม่
เปิด VB6 -> ไฟล์ -> โครงการใหม่ -> เลือก ActiveX DLL -> ตกลง
2. เปลี่ยนชื่อโปรเจ็กต์และคลาสเริ่มต้น
การเปลี่ยนชื่อโครงการ: โครงการ --> คุณสมบัติโครงการ 1 (ชื่อนี้สอดคล้องกับชื่อโครงการในแบบฟอร์ม) --> เปลี่ยนชื่อ "ชื่อโครงการ" เป็น ASP2DLL ในกล่องโต้ตอบเปิด (หลังจากลงทะเบียนส่วนประกอบ DLL ในระบบแล้ว วิธีการเรียกเริ่มต้นใน asp คือ "project name.class name") --> OK
การเปลี่ยนชื่อคลาส เปลี่ยนชื่อเป็น Demo ในหน้าต่างคุณสมบัติ
3. กำหนดวัตถุพื้นฐานของ ASP
เพิ่มโมดูล: โครงการ-->เพิ่มโมดูล-->เลือก "โมดูล"-->เปิด
เปลี่ยนชื่อโมดูล: Project Explorer-->Module--Module1-->Rename Module1 เป็น "ASPMod" ในหน้าต่างคุณสมบัติ
เพิ่มรหัสโมดูล รหัสนี้ใช้ได้กับส่วนประกอบ asp DLL เกือบทั้งหมดที่ห่อหุ้มใน vb เพียงเปลี่ยน ASP2DLL เป็นชื่อโครงการหรือคงไว้ซึ่งสอดคล้องกันเมื่อเรียกใช้รหัสดังต่อไปนี้:
คัดลอกรหัสรหัสดังต่อไปนี้:
objContext สาธารณะเป็น ObjectContext
แอปพลิเคชันสาธารณะเป็น ASPTypeLibrary.Application
เซิร์ฟเวอร์สาธารณะเป็น ASPTypeLibrary.Server
เซสชันสาธารณะเป็น ASPTypeLibrary.Session
การตอบสนองสาธารณะเป็น ASPTypeLibrary.Response
คำขอสาธารณะเป็น ASPTypeLibrary.Request
ASP2DLL_Initialize ย่อยสาธารณะ ()
เมื่อเกิดข้อผิดพลาด ดำเนินการต่อต่อไป
ตั้งค่า objContext = GetObjectContext
ตั้งค่า Application = objContext.Item("Application")
ตั้งค่าเซิร์ฟเวอร์ = objContext.Item("เซิร์ฟเวอร์")
ตั้งค่าเซสชัน = objContext.Item ("เซสชัน")
ตั้งค่าคำขอ = objContext.Item ("คำขอ")
ตั้งค่าการตอบสนอง = objContext.Item("การตอบสนอง")
จบหมวดย่อย
ASP2DLL_Terminate ย่อยสาธารณะ ()
เมื่อเกิดข้อผิดพลาด ดำเนินการต่อต่อไป
ตั้งค่าแอปพลิเคชัน = ไม่มีเลย
ตั้งค่าเซิร์ฟเวอร์ = ไม่มีเลย
ตั้งค่าเซสชัน = ไม่มีเลย
ตั้งค่าคำขอ = ไม่มีเลย
ตั้งค่าการตอบสนอง = ไม่มีเลย
ตั้งค่า objContext = ไม่มีเลย
จบหมวดย่อย
การประเมินฟังก์ชันสาธารณะ (ByRef strEval)
Dim EvalObject เป็น ScriptControl ใหม่
EvalObject.Language = "VBScript"
Eval = EvalObject.Eval(strEval)
ตั้งค่า EvalObject = ไม่มีเลย
สิ้นสุดฟังก์ชัน
4. บันทึก DLL ที่สร้างขึ้นใหม่
ไฟล์-->บันทึกโครงการ ยืนยันทั้งหมด และบันทึกโมดูล โมดูลคลาส และไฟล์โครงการทั้งหมดไว้ในโฟลเดอร์เดียว
5. เรียกวัตถุ ASP ในโมดูลคลาส
Project Explorer --> Class Module --> คลิกสองครั้งที่ Demo เพื่อสลับไปเป็นตัวแก้ไขโค้ดโมดูลคลาส Demo วางโค้ด เริ่มต้นการเรียกคลาสและการทำลายคลาส รหัสจะเป็นดังนี้:
คัดลอกรหัสรหัสดังต่อไปนี้:
Class_Initialize ส่วนตัว ()
ASP2DLL_เตรียมใช้งาน
จบหมวดย่อย
Class_Terminate ส่วนตัวย่อย ()
ASP2DLL_สิ้นสุด
จบหมวดย่อย
ณ จุดนี้ กรอบงาน DLL พื้นฐานเสร็จสมบูรณ์แล้ว ตอนนี้คุณสามารถทำหน้าที่ที่ห่อหุ้มที่จำเป็นให้เสร็จสมบูรณ์ได้ตามความต้องการของคุณ
6. สร้างฟังก์ชันทดสอบใหม่
วางฟังก์ชันทดสอบสองฟังก์ชันต่อไปนี้ไว้ใต้โมดูลคลาสสาธิต
คัดลอกรหัสรหัสดังต่อไปนี้:
ย่อยสาธารณะ สวัสดี()
Response.เขียน ("สวัสดีชาวโลก!")
ออกจากย่อย
จบหมวดย่อย
7. คอมไพล์และสร้าง DLL
ไฟล์-->สร้าง ASP2DLL.dll-->เลือกโฟลเดอร์ที่โปรเจ็กต์ตั้งอยู่และยืนยันว่า ตกลง หากไม่มีข้อความแสดงข้อผิดพลาด ณ จุดนี้ แสดงว่าคอมโพเนนต์ dll ได้รับการคอมไพล์เรียบร้อยแล้ว
8. ลงทะเบียนและถอนการติดตั้งส่วนประกอบ
สร้างในไดเร็กทอรีที่มีคอมโพเนนต์ ASP2DLL.dll
ไฟล์แบตช์ "Registration.bat" ให้ป้อน:
คัดลอกรหัสรหัสดังต่อไปนี้:
iisreset/หยุด
regsvr32/sASP2DLL.dll
iisreset/เริ่มต้น
ไฟล์แบตช์ "Uninstall.bat" ป้อน:
คัดลอกรหัสรหัสดังต่อไปนี้:
iisreset/หยุด
regsvr32 /u /sASP2DLL.dll
iisreset/เริ่มต้น
ดับเบิลคลิกเพื่อเรียกใช้ register.bat หากการลงทะเบียนสำเร็จ ระบบจะแจ้ง: "DllRegisterServer ใน ASP2DLL.dll สำเร็จ"
9. เรียกคอมโพเนนต์ DLL ที่ห่อหุ้มใหม่และทดสอบฟังก์ชันในโปรแกรม ASP
ในขั้นตอนที่ 2 เราทราบว่า "เมื่อมีการลงทะเบียนคอมโพเนนต์ DLL ในระบบ วิธีการเรียกเริ่มต้นใน asp คือ 'ชื่อโครงการ ชื่อคลาส'" ดังนั้น ควรสร้างวัตถุดังนี้: set Obj = Server.CreateObject ("ชื่อโครงการ ชื่อคลาส") รหัสเป็นดังนี้:
คัดลอกรหัสรหัสดังต่อไปนี้:
-
DimASP2DLL
ตั้ง ASP2DLL = Server.CreateObject("ASP2DLL.Demo")
ASP2DLL.สวัสดี()
SetASP2DLL = ไม่มีอะไรเลย
-
10. ลิงค์ดาวน์โหลดแพ็คเกจรวมถึงไฟล์โครงการและเนื้อหาที่เกี่ยวข้องทั้งหมด (ลิงค์ดาวน์โหลดอัพเดต 20110221) ดาวน์โหลดแพ็คเกจ
ประเด็นที่ควรทราบเมื่อรวบรวม DLL:
1. หลีกเลี่ยงการใช้คำสำคัญที่สงวนไว้ VB เป็นชื่อฟังก์ชันหรือตัวแปร
2. ฟังก์ชันปกติและฟังก์ชัน Vbscript บางอย่าง เช่น Eval จำเป็นต้องโหลด "Project-->Reference-->Microsoft Script Control 1.0" และ "Microsoft VBScript Regular Expressions 5.5";
3. การห่อหุ้มไม่สามารถนำมาซึ่งการปรับปรุงความเร็วที่จำเป็นได้ และโฮสต์เสมือนและเซิร์ฟเวอร์ระยะไกลจำเป็นต้องได้รับการอนุญาตการลงทะเบียนส่วนประกอบ
4. สำหรับชื่อส่วนประกอบที่มีอยู่หรือไฟล์ dll ที่แก้ไข คุณต้องหยุด IIS ก่อน จากนั้นรีสตาร์ท IIS เพื่อลงทะเบียนส่วนประกอบ dll
5. ลิงค์ดาวน์โหลดเวอร์ชันสีเขียว VB6 SP6 ที่คล่องตัว
ข้อความต้นฉบับจาก:?cateID=20 ขอบคุณผู้เขียนสำหรับการทำงานหนักของเขา เนื้อหาดีมาก แต่การเข้าถึงเว็บไซต์ช้าเกินไป