نظرًا لكثرة الأسئلة التي طرحها مستخدمو الإنترنت مؤخرًا، سأقوم ببساطة بحل المشكلة إذا كانت لديك أي أسئلة، يمكنك تركها في التعليقات.
1. قم بإنشاء ملف DLL جديد
افتح VB6-->ملف-->مشروع جديد->حدد ActiveX DLL-->موافق
2. إعادة تسمية المشروع والفئة الافتراضية
إعادة تسمية المشروع: المشروع --> خصائص المشروع 1 (هذا الاسم يتوافق مع اسم المشروع في النموذج) --> إعادة تسمية "اسم المشروع" إلى ASP2DLL في مربع الحوار المفتوح (بعد تسجيل مكون DLL في النظام، طريقة الاتصال الافتراضية في asp هي "اسم المشروع. اسم الفئة") -> موافق
إعادة تسمية الفئة قم بإعادة تسمية الاسم إلى Demo في نافذة الخصائص
3. تعريف كائنات ASP الأساسية
إضافة وحدة نمطية: المشروع-->إضافة وحدة نمطية-->حدد "وحدة نمطية"-->فتح
إعادة تسمية الوحدة النمطية: Project Explorer-->Module--Module1-->إعادة تسمية Module1 إلى "ASPMod" في نافذة الخصائص
أضف رمز الوحدة النمطية. ينطبق هذا الرمز على جميع مكونات asp DLL المغلفة في vb. فقط قم بتغيير ASP2DLL إلى اسم المشروع أو اجعله ثابتًا عند الاتصال.
انسخ رمز الكود كما يلي:
objContext العام كـ ObjectContext
التطبيق العام باسم ASPTypeLibrary.Application
الخادم العام باسم ASPTypeLibrary.Server
الجلسة العامة باسم ASPTypeLibrary.Session
الاستجابة العامة باسم ASPTypeLibrary.Response
الطلب العام باسم ASPTypeLibrary.Request
ASP2DLL_Initialize () الفرعي العام
على خطأ استئناف التالي
تعيين objContext = GetObjectContext
تعيين التطبيق = objContext.Item("التطبيق")
تعيين الخادم = objContext.Item("الخادم")
تعيين الجلسة = objContext.Item("الجلسة")
تعيين الطلب = objContext.Item("الطلب")
تعيين الاستجابة = objContext.Item("الاستجابة")
نهاية الفرعية
العامة الفرعية ASP2DLL_Terminate()
على خطأ استئناف التالي
تعيين التطبيق = لا شيء
تعيين الخادم = لا شيء
تعيين الجلسة = لا شيء
تعيين الطلب = لا شيء
ضبط الاستجابة = لا شيء
تعيين objContext = لا شيء
نهاية الفرعية
تقييم الوظيفة العامة (ByRef strEval)
Dim EvalObject كعنصر تحكم جديد في البرنامج النصي
EvalObject.Language = "VBScript"
إيفال = EvalObject.Eval(strEval)
قم بتعيين EvalObject = لا شيء
وظيفة النهاية
4. احفظ ملف DLL الذي تم إنشاؤه حديثًا
ملف-->حفظ المشروع، والتأكيد على طول الطريق، وحفظ جميع الوحدات النمطية، ووحدات الفصل الدراسي، وملفات المشروع في مجلد واحد
5. استدعاء كائنات ASP في وحدات الفصل الدراسي
مستكشف المشاريع --> وحدة الفصل الدراسي --> انقر نقرًا مزدوجًا فوق العرض التوضيحي للتبديل إلى محرر كود الوحدة النمطية للفئة التجريبية، والصق الرمز، وقم بتهيئة استدعاء الفصل وتدمير الفصل، ويكون الرمز كما يلي:
انسخ رمز الكود كما يلي:
فئة فرعية خاصة_Initialize()
ASP2DLL_Initialize
نهاية الفرعية
فئة فرعية خاصة_Terminate()
ASP2DLL_Terminate
نهاية الفرعية
عند هذه النقطة، تم الانتهاء من إطار عمل DLL الأساسي. يمكنك الآن إكمال الوظائف المغلفة المطلوبة وفقًا لاحتياجاتك الخاصة.
6. إنشاء وظيفة اختبار جديدة
قم بلصق وظيفتي الاختبار التاليتين ضمن وحدة الفئة التجريبية.
انسخ رمز الكود كما يلي:
مرحبا فرعي عام ()
الاستجابة.اكتب ("مرحبًا بالعالم!")
الخروج من الباطن
نهاية الفرعية
7. ترجمة وإنشاء DLL
ملف-->إنشاء ASP2DLL.dll-->حدد المجلد الذي يوجد به المشروع وأكد، حسنًا، إذا لم تكن هناك رسالة خطأ في هذه المرحلة، فهذا يثبت أن مكون dll قد تم تجميعه بنجاح.
8. قم بتسجيل المكونات وإلغاء تثبيتها
تم إنشاؤه في الدليل حيث يوجد مكون ASP2DLL.dll
الملف الدفعي "Registration.bat"، أدخل:
انسخ رمز الكود كما يلي:
iisreset/stop
regsvr32/sASP2DLL.dll
إعادة تعيين/بدء
الملف الدفعي "Uninstall.bat"، أدخل:
انسخ رمز الكود كما يلي:
iisreset/stop
regsvr32 /u /sASP2DLL.dll
إعادة تعيين/بدء
انقر نقرًا مزدوجًا لتشغيل ملف Registration.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 شكرًا للمؤلف على عمله الشاق، الأشياء رائعة، ولكن الوصول إلى موقع الويب بطيء جدًا.