الجزء الأول من سلسلة المقدمة الأساسية وإتقان مكونات Asp
، كنت أرغب دائمًا في كتابة بعض تطبيقات المكونات، خلال هذا الوقت، يمكنني أخيرًا كتابة شيء أحبه.
آمل أنه بعد دراسة هذه الدروس، يمكنك كتابة المكونات الخاصة بك كما تريد.
قد لا تكون كل مقالة ذات صلة، ولكنها تكتب فقط عن بعض المشكلات التي تنشأ أثناء كتابة المكونات.
مرحبًا بالجميع لانتقادالبيئة
وتصحيحها
: winxp+vb6+sp6+visual interdev6.0في المقالة الأولى، دعونا أولاً نكتب مكونًا بسيطًا نسبيًا
يؤدي الوظائف التالية: إدخال رقمين وإضافتهما، وإرجاع النتيجة المضافة
، وفتح vb6، وإنشاء مشروع Activex Dll جديد. قم بتغيير اسم المشروع إلى fCom واسم الفئة إلى fC1.
انقر فوق القائمة->الأدوات->إضافة عملية.
ندخل "إضافة" في الاسم، ونحدد الوظيفة كنوع، ونحدد النطاق العام، ثم نؤكد
إنشاء الكود التالي سوف تستمر في تحسينه.
رمز البرنامج
الخيار صريح
إضافة الوظيفة العامة (ByVal a As Long، ByVal b As Long) As Long
أضف=أ+ب
وظيفة النهاية
حسنًا، لقد تم كتابة مكون بسيط. انقر فوق القائمة->ملف->إنشاء ملف fCom.dll
للتأكيد. سيكون هناك ملف fCom.dll في الدليل.
قم باختبار
interdev6.0 المرئي وإنشاء ملف asp هل تستخدمه Interdev، لأنه يحتوي على وظيفة موجه التعليمات البرمجية، وهو متوافق مع بيئة IDE لـ VB، وهو مناسب للكتابة
رمز البرنامج
<%@ اللغة=VBScript %>
<أتش تي أم أل>
<الرأس>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</الرأس>
<الجسم>
<%
تعيين obj=server.CreateObject("fCom.fC1")
'انتبه إلى الجملة التالية، لأن الوظيفة لها قيمة إرجاع، لا يمكنك كتابتها بالطريقة التالية، وإلا سيتم الإبلاغ عن خطأ في IE
'obj.Add(3,4)
'نوع الخطأ:
'خطأ في برنامج التحويل البرمجي لـ Microsoft VBScript (0x800A0414)
'لا يمكنك استخدام الأقواس عند استدعاء روتين فرعي
'/xml/fc1.asp، السطر 9، العمود 12
'obj.إضافة(3,4)
'ما يلي هو الطريقة الصحيحة للكتابة
خافت ج
ج=obj.Add(3,4)
الرد.اكتب ج
%>
</الجسم>
</HTML>
قم بتكوين الدليل الظاهري، وقم بتنفيذ ملف asp هذا في IE، واحصل على النتيجة 7.
انتهت المقالة الأولى وأتمنى لكم جميعًا دراسة سعيدة.
مكونات Asp مقدمة أساسية وسلسلة الإتقان 2
كيفية تسجيل المكونات
1. المسار المطلق لمكون regsvr32
هو كما يلي:
رمز البرنامج
regsvr32 ج:testfc1.dll
نظرًا لأنه يمكن استخدام المكون طالما أنه مسجل، فلا علاقة له بموقع المكون.
2.
متى يكون هذا التسجيل مطلوبًاعند التسجيل في مدير مكونات COM+
: يجب تسجيل المكونات قبل أن تتمكن من التنفيذ بشكل طبيعي بعد استخدام خدمات COM+. إذا تم تسجيل المكون فقط في regsvr32، فلا يزال من غير الممكن
استخدامه
رمز البرنامج
set obj=server.createobject("اسم المشروع. اسم الفئة")
ثم اتصل بسمة الطريقة الخاصة به
كيفية إزالة تثبيت المكون
1. المسار المطلق لمكون regsvr32
هو كما يلي:
رمز البرنامج
regsvr32 c:testfc1.dll /u
ش معلمة مكون مكافحة التسجيل
2. ما عليك سوى حذف المكون الموجود في مدير مكونات COM+
وسلسلة الإتقان الجزء الثالث:
كيفية استخدام الخصائص
لفتح vb6 وإنشاء مشروع Activex Dll جديد. قم بتغيير اسم المشروع إلى fCom واسم الفئة إلى fC2.
انقر فوق القائمة->الأدوات->إضافة عملية.
ندخل myName في الاسم، ونحدد السمة كنوع، ونحدد public كنطاق، ثم نؤكد
العملية مرة أخرى: أدخل العمر في الاسم، وحدد السمة كنوع، وحدد عام في النطاق، ثم أكد
وقم بالتشغيل مرة أخرى: أدخل PeopleInfo في الاسم، وحدد الوظيفة كنوع، وحدد عام في النطاق، ثم قم بتأكيد
الرمز على النحو التالي:
رمز البرنامج
الخيار صريح
'لا يمكن استخدام المتغيرات المحلية التي تحتوي على قيم السمات إلا في الفئات
اسم mvarmyName الخاص كسلسلة
mvarAge الخاص كعدد صحيح
"اسمح بكتابة السمات (دع السمات: تقوم هذه العملية بتعيين قيمة لسمة ما.)
السماح للملكية العامة بالعمر (ByVal vData كعدد صحيح)
mvarAge = vData
نهاية الملكية
"الحصول على سمة القراءة (تحصل هذه العملية على قيمة السمة.)
الملكية العامة تحصل على Age() كعدد صحيح
العمر = mvarAge
نهاية الملكية
الملكية العامة Let myName(ByVal vData As String)
mvarmyName = vData
ملكية النهاية
ملكية عامة احصل على myName() كسلسلة
myName = mvarmyName
نهاية الخاصية
العامة للوظيفة PeopleInfo() كسلسلة
PeopleInfo = "الاسم: " & mvarmyName & " العمر: " & mvarAge
وظيفة النهاية
حسنًا، لقد تم كتابة مكون بسيط. انقر فوق القائمة->ملف->إنشاء ملف fCom.dll
للتأكيد. سيكون هناك ملف fCom.dll في الدليل.
قم باختبار
interdev6.0 المرئي وإنشاء ملف asp هل تستخدمه Interdev، لأنه يحتوي على وظيفة موجه التعليمات البرمجية، وهو متوافق مع بيئة IDE لـ VB، وهو مناسب للكتابة
رمز البرنامج
<%@ اللغة=VBScript %>
<أتش تي أم أل>
<الجسم>
<%
تعيين obj=server.CreateObject("fCom.fC2")
خافت ج
'ما يسمى هنا هو خاصية السماح للمكون
obj.myName = "تورنادو"
obj.Age = 20
ج=obj.peopleInfo()
الرد.اكتب ج
'ما يسمى هنا هو خاصية Get للمكون
الاستجابة.اكتب "<br>"
الاستجابة.اكتب obj.myName
الاستجابة.اكتب "<br>"
الاستجابة. كتابة obj.Age
%>
</الجسم>
</HTML>
قم بتكوين الدليل الظاهري وتنفيذ ملف asp هذا في IE. النتائج هي كما يلي:
الاسم: Tornado Age: 20
اعصار
20
يتبع
مقدمة لمكونات Asp وسلسلة إتقانها 4
مشكلات المصفوفات
تُستخدم المصفوفات كثيرًا في البرامج، ومن المرجح أن تسبب مشكلات،
فلنلقي نظرة عليها من خلال مثال
صغير مشروع Activex Dll. قم بتغيير اسم المشروع إلى fCom واسم الفئة إلى fC4
انقر فوق القائمة->الأدوات->إضافة عملية،
ندخل AcceptArray1 في الاسم، ونحدد الروتين الفرعي كنوع، ونحدد النطاق العام، ثم نؤكد
العملية مرة أخرى: أدخل. AcceptArray2 في الاسم، وحدد الوظيفة كالنوع، وحدد public كالنطاق، ثم قم بالتأكيد
رمز البرنامج
'الوظيفة: قم بتمرير عنوان المصفوفة إلى المكون، واستخدم الكلمة الأساسية ByRef، ثم قم بالتعيين والإرجاع
قبول فرعي عام1 (ByRef varray كمتغير) كمتغير
فاراي (0) = "إعصار"
فاراي (1) = "20"
End Sub
: إرجاع مصفوفة سلسلة
الوظيفة العامة AcceptArray2() كمتغير
خافت (2) كمتغير
أ(0) = "إعصار"
أ(1) = "20"
AcceptArray2=a
وظيفة النهاية
حسنًا، تم كتابة المكون، انقر فوق القائمة->ملف->إنشاء ملف fCom.dll
للتأكيد. سيكون هناك ملف fCom.dll في الدليل.
قم باختبار
interdev6.0 المرئي وإنشاء
رمز برنامج ملف asp.
<%@ اللغة=VBScript %>
<أتش تي أم أل>
<الجسم>
<%
كائن خافت
تعيين obj = server.createobject("fCom.fC4")
خافت (2)
'اختبر طريقة المكون الأول
obj.AcceptArray1(أ)
الرد.اكتب (0)
رد: اكتب "<br>"
الرد.اكتب (1)
رد: اكتب "<br>"
'اختبر طريقة المكون الثاني
خافت ب
ب=obj.AcceptArray2()
لأني=0 إلى ubound(b)
الاستجابة.اكتب ب(ط)
رد: اكتب "<br>"
التالي
%>
</الجسم>
</HTML>
قم بتكوين الدليل الظاهري وتنفيذ ملف asp هذا في IE. وكانت النتائج كما يلي:
Tornado
20
اعصار
20
للتلخيص:
يتم تمرير السلاسل والأرقام حسب القيمة أو يتم إرجاعها كقيمة إرجاع
في حالة التمرير حسب المرجع، قم بتعيين نوع المعلمة إلى Variant. القيام بذلك يمكن أن يتجنب بعض الأخطاء. ومع ذلك، حاول تقليل المعلمات التي تم تمريرها حسب المرجع قدر الإمكان
، للمتابعة،
مقدمة لمستوى الدخول وسلسلة الإتقان 5.
في كثير من الأحيان، يمكننا أن نرى ذلك عند الاتصال بقاعدة البيانات وفتح مجموعة السجلات، على النحو التالي:
رمز البرنامج
rs.Open strsql، conn،adOpenDynamic،adLockPessimistic
عند كتابة ""، ستظهر قائمة بأنواع المؤشر أو أنواع القفل للاختيار منها.
في بعض الأحيان من أجل التبسيط، نقوم مباشرة بـ rs.open strsql,conn,1,3.
هل الطريقة الأولى أكثر احترافية؟ دعنا نلقي نظرة على كيفية
فتح vb6 في asp وإنشاء مشروع Activex Dll جديد. تم تغيير اسم المشروع إلى fCom وتغيير اسم الفئة إلى fC5
رمز البرنامج
الخيار صريح
'تحديد نوع التعداد
واجهة التعداد العام
إي فيرست = 1
إيسي ثانية = 2
اي سي ثري = 3
اي سي فور = 4
إيكفايف=5
إيكسيكس=6
إيسيرفن=7
ثمانية الجليد = 8
نهاية التعداد
'تعريف الوظيفة
الوظيفة العامة CallDat (ByVal idig كعدد صحيح، ByVal ics كـ Interfacedig) كمتغير
CallDat = idig * ics
وظيفة النهاية
حسنًا، تم كتابة المكون، انقر فوق القائمة->ملف->إنشاء ملف fCom.dll
للتأكيد. سيكون هناك ملف fCom.dll في الدليل.
قم باختبار
interdev6.0 المرئي وإنشاء
رمز برنامج ملف asp.
<%@ اللغة=VBScript %>
<أتش تي أم أل>
<الجسم>
<%
'التعريف، يمكنك أيضًا وضع هذا الجزء في ملف، تمامًا مثل مجموعة سجلات ado <!--#include file="adovbs.inc"-->
ثابت إي فيرست = 1
ثابت إي ثانية = 2
كونست إيكثري = 3
كونست إيكفور = 4
ثابت icfive = 5
كونست إي سيكس = 6
كونست إيسيرفن = 7
ثابت الجليد = 8
تعيين obj=server.CreateObject("fCom.fc5")
يمكن استخدام 'iceight أو 8 هنا، لكن الأول يجعل الكود أكثر قابلية للقراءة
أ= obj.CallDat(4,iceight)
الرد.اكتب أ
الاستجابة.اكتب "<br>"
أ= obj.CallDat(4,8)
الرد.اكتب أ
%>
<ف> </ف>
</الجسم>
</HTML>
قم بتكوين الدليل الظاهري وتنفيذ ملف asp هذا في IE، وكانت النتائج كما يلي:
32
32
مقدمة أساسية لمكونات Asp وسلسلة الإتقان 6
معالجة الأخطاء
إذا كان هناك خطأ في الصفحة ولم تتم معالجة الأخطاء، فستعرض الصفحة خطأ قد لا يفهمه المستخدم.
يمكن استخدامها في البرنامج النصي asp
رمز البرنامج
على خطأ استئناف التالي
…
إذا Err.Number<>0 ثم
الاستجابة.كتابة خطأ.الوصف
انتهي إذا
ولكن ماذا لو حدث خطأ ما في المكون؟ يمكن لهذه الطريقة اكتشاف الأخطاء، ولكن كيف يمكن معرفة الخطأ المحدد؟
يمكننا إضافة معالجة الأخطاء إلى المكون لإرجاع الأخطاء، حتى نتمكن بسهولة من رؤية معلومات أكثر تفصيلاً عن الأخطاء ومساعدتنا في استكشاف الأخطاء وإصلاحها.
استخدم Err.Raise، ويتم استخدام Raise لإنشاء أخطاء وقت التشغيل
لفتح vb6 وإنشاء مشروع Activex Dll جديد. تم تغيير اسم المشروع إلى fCom وتغيير اسم الفئة إلى fC6
رمز البرنامج
الخيار صريح
خطأ العرض الفرعي العام 1()
على خطأ انتقل إلى ErrorHandle
خافت ومزدوج
ط=1/0
معالج الخطأ:
Err.Raise Err.Number، Err.Source، Err.Description
End Sub
"إنشاء أخطاء مخصصة".
خطأ العرض الفرعي العام 2()
Err.Raise 600، "خطأ محدد ذاتيًا 600"، "هذا خطأ في وصف برنامجك الخاص"
End Sub
حسنًا، تم كتابة المكون، انقر فوق القائمة->ملف->إنشاء ملف fCom.dll
للتأكيد. سيكون هناك ملف fCom.dll في الدليل.
قم باختبار
interdev6.0 المرئي وإنشاء
رمز برنامج ملف asp.
<%@ اللغة=VBScript %>
<أتش تي أم أل>
<الجسم>
<%
"الجملة التالية مهمة جدًا
على خطأ استئناف المقبل
تعيين obj=server.CreateObject("fCom.fc6")
obj.showerror1()
'إذا لم يكن هناك معالجة للأخطاء، فسيتم إنشاء واجهة خطأ، وهو أمر غير احترافي على الإطلاق.
'النطاق من 0 إلى 512 محجوز لأخطاء النظام؛ ويمكن استخدام النطاق من 513 إلى 65535 للأخطاء المحددة من قبل المستخدم.
'إذا كان خطأً محتجزًا، فإن رقم الخطأ في المكون يتوافق مع رقم الخطأ في معالجة الصفحة
إذا err.number <>0 ثم
الاستجابة.اكتب "رسالة خطأ" ورقم الخطأ والوصف
نهاية إذا
الاستجابة.اكتب "<br>"
'إذا كان خطأ محددًا من قبل المستخدم، فيمكن معالجته بشكل منفصل على الصفحة
obj.showerror2()
إذا err.number<>0 ثم
إذا كان err.number = 600 ثم
الاستجابة.اكتب رقم الخطأ والخطأ.المصدر والوصف
نهاية إذا
نهاية إذا
%>
</الجسم>
</HTML>
تكوين الدليل الظاهري وتنفيذ ملف asp هذا في IE النتائج كما يلي:
رسالة الخطأ 11 مقسومة على صفر.
600 خطأ محدد ذاتيًا 600 هذا خطأ في وصف البرنامج الخاص بك،
مقدمة وسلسلة إتقان Asp Component الجزء 7.
عند تشغيل الأمثلة في الفصول السابقة، قد تواجه بعض المشكلات أكثر أو أقل
، مثل: بعد انتهاء المكون. مترجمًا، فإنه يحتاج إلى تعديل، وتحدث أخطاء مثل "تم رفض الإذن، 'f:csdnfcom.dll'" وما إلى ذلك.
عند تصفح صفحة asp، افتح مدير المهام وسترى عملية dllhost.exe باسم المستخدم IWAM_YANG. سوف يختلف IWAM_YANG حسب اسم الكمبيوتر.
يمكنك استخدام الطرق التالية لحل
1. أعد تشغيل iis.
ابحث عن أدوات الإدارة->خدمات معلومات الإنترنت->انقر بزر الماوس الأيمن على الكمبيوتر المحلي في المستوى الثاني من الشجرة الموجودة على اليسار في لوحة التحكم->جميع المهام->أعد تشغيل IIS.
في هذا الوقت يمكنك أن ترى أن عملية dllhost.exe قد تم إغلاقها
2. عيب الطريقة المذكورة أعلاه هو أن جميع مواقع الويب مغلقة حاليًا حتى يتم إعادة تشغيلها.
هل هناك أي حل لموقع ويب واحد أو دليل افتراضي؟ ابحث عن
أدوات إدارية -> خدمات معلومات الإنترنت -> ابحث عن الدليل الظاهري الذي يعمل عليه المكون الخاص بك في لوحة التحكم. -> انقر بزر الماوس الأيمن فوق خصائص->في الدليل الظاهري الأول->حماية التطبيقات->انقر فوق إلغاء التثبيت.
في هذا الوقت يمكنك أن ترى أن عملية dllhost.exe قد تم إغلاقها
3. إذا وجدت الأمر مزعجًا، فما عليك سوى إنهاء العملية مباشرة في Windows Task Manager
4. الطريقة الأخيرة
هي العثور على أدوات الإدارة في لوحة التحكم -> خدمات المكونات -> انقر فوق الكمبيوتر، جهاز الكمبيوتر، العمليات الجارية -> تطبيقات IIS خارج العملية المجمعة (2860) -> انقر بزر الماوس الأيمن لإغلاقه ولكن
في هذا الوقت يمكنك أن ترى أن عملية dllhost.exe قد تم إغلاقها.