الأحد، 18 نوفمبر 2012

دورة [VBScript] الدرس التاسع: مكونات COM، استخدامها و بنائها ج9

الدرس التاسع: مكونات COM، استخدامها و بنائها ج9

نموذج كائن المكون Microsoft Component Object Model هو إحدى التقنيات البرمجية المقدمة من مايكروسوفت كخطوة إيجابية تجاه مبدأ "الكود القابل لإعادة الاستعمال"، حيث تمثل مكونات COM مجموعة من الدوال المغلفة داخل وحدات(أصناف) والتي يمكن استخدامها من قبل التطبيقات الأخرى، فمثلا تستطيع إنشاء عدد من الدوال التي تتعامل مع الملفات وبعد تغليفها في مكون COM، تستطيع الاستفادة منها في أي من تطبيقاتك المستقبلية بعملية اتصال بسيطة بين تطبيقك ومكون COM، ومن الجدير بالذكر أن COM أسلوب موحد، وهذا يعني إمكانية إنشاءها بأكثر من لغة كـ VC++ أو VB كما تستطيع استخدامها في العديد من اللغات.
استعمال مكونات COM في VBScript
يمكن اعتبار المكون كوعاء يحتوي على صنف أو أكثر وكما رأينا من قبل فإنه قبل استخدام صنف معين يجب علينا إنشاء كائن منه، وهذا ينطبق على مكونات COM ايضا، وفيما يلي مثال يوضح كيفية استخدام هذه المكونات من خلال لغة VBScript والمثال مطبق على أتمتة اكسيل أحد برامج طقم أوفيس من مايكروسوفت ..
كود:
Dim objExcelApp,objExcelWk
Set objExcelApp = CreateObject("Excel.Application")
objExcelApp.visible = True 'إظهار برنامج اكسيل
Set objExcelWk = objExcelApp.WorkBooks.Add 'إضافة ورقة عمل
With objExcelApp.ActiveSheet 'إدراج قيم
.Cells(1,1) = "اسم الموقع"
.Cells(2,1) = "www.abda3design.blogspot.com"
End With
objExcelWk.SaveAs "C:Site.xls" 'حفظ الملف باسم
objExcelApp.Quit 'إغلاق برنامج اكسيل
Set objExcelApp = Nothing 'تحرير الذاكرة


لا شك انك لاحظت من خلال المثال السابق قوة COM وإمكانياتها التي ستخدمك كثيراً، حيث استطعت زيادة قوة شيفرتك مئات المرات بعدد قليل من الأسطر.

كيفية ربط مكونات COM في VBScript

الربط Binding هو الأسلوب الذي يحدد متى وكيف يتم الاتصال بمكون COM وهناك أسلوبان للربط هما الربط المبكر الذي يتم فيه تصريح المتغير كنمط كائن بعد إضافة مرجع للصنف، أما الثاني فهو الربط المتأخر والذي يمثل الأسلوب الوحيد للربط في VBScript حيث نستخدم الدالة CreateObject لإنشاء نسخة من مكون COM، أيضا يجب ملاحظة أن الأسلوب الذي اتبعناه سابقا لإنشاء كائن من صنف داخلي يعتبر ربطا متأخرا أيضا.

نظرات أعمق إلى تقنية COM

كمبرمج VBScript لست بحاجة إلى معرفة المزيد حول COM ولكن المعرفة سوف تجعلك أكثر ثباتا عند التعامل مع COM ومشكلاتها. وقد رأيت أنه من المفيد ذكر بعض الأمور الرئيسة بشكل مختصر جدا، ولكنك ستتعرف أكثر على هذه التقنية عند استخدامها في لغات متقدمة كـ VB، وربما عانيت منها الكثير إذا كنت من مبرمجي VC++ ..


واجهات الكائن Object Interfaces

جميع الكائنات تملك واجهة أو أكثر والتي تستخدم لتأسيس الاتصال بين العميل ومكون
COM، كما تقوم هذه الواجهات بتعريف الخصائص والطرق والأحداث التي يحويها المكون،
وفيما يلي بعض أهم واجهات COM.


الواجهة IUknown

وتعد من أهم الواجهات حيث تتعرف على كافة كائنات مكون COM كما تستخدم لمعرفة إذا ما كان يدعم واجهات أخرى.


الواجهة IDispatch 
وتسمى الأتمتة وهي عنصر هام لاستخدام المكونات من لغات النصوص البرمجية.


الواجهة Dual

أو الواجهة المضاعفة وهي تمكننا من الاستفادة من مميزات الربط المبكر والمتأخر بالشكل الملائم.
التسجيل Registration 
قبل استخدام مكونات COM يجب تسجيلها، ويتم التسجيل في مسجل النظام حيث يتم إعطاء المكون معرف فريد تقوم بإنشائه خوارزمية خاصة لهذا الغرض ويسمى GUID.
ويمكن تسجيل المكونات من نوع DLL من خلال البرنامج Regsvr32 كالتالي ..
كود:

Regsvr32 svr.dll


أما المكونات من نوع EXE فيتم تسجيلها تلقائيا عند تشغيلها وتمرير الوسيطة /Regserver لها.


مكونات COM مدعومة في VBScript بشكل واسع

تعتبر المكتبة Scripting Runtime أحدى مكونات COM المفيدة جدا لمستخدمي VBScript وهذه المكتبة يتم تركيبها عند تركيب اللغة وتحتوي على الصنفين Dictionary و
FileSystemObject . أيضا هناك كائنان مبنيان داخل اللغة أي أننا لا نحتاج لاستخدام الدالة CreateObject لإنشائهما وهما Err و RegExp وتعتبر المكونات السابقة أكثر المكونات استعمالا لدى مطوري VBScript. وسنتطرق لها بشكل أكثر تفصيلا في دروس لاحقة باذن الله.

بناء مكوناتك الخاصة
تستطيع تطوير مكون باستخدام لغة VBScript! ... بالطبع ليس بشكل كلي قادر على العمل بمفرده ولكن بشكل اكثر بساطة، حيث تقوم بإنشاء الأصناف ثم باستخدام برنامج Windows Script Component تقوم بتحويلها إلى مكونات وهي عبارة عن ملفات معتمدة على تقنية
XML، وتستطيع تحويل ملفاتك إلا مكونات بسهولة باستخدام المعالج الخاص بالبرنامج
السابق وهو على الرابط
http://www.msdn.microsoft.com/scrip...lets/wz10en.exe ، و بالنسبة لواجهات COM فهي في الملف Scrob.dll الذي يعمل كوسيط بين مكوناتك المنشأة باللغات النصية وبين البرنامج العميل.
ملاحظات عامة
· تستطيع استكشاف مكونات COM الموجودة في جهازك من خلال برنامج OLEView.exe والمرفق مع حزمة Visual Studio والذي يعد أداة قوية لاستكشاف هذه المكونات.
· COM+ هي تطوير لفكرة COM وذلك لاستخدامها في تطبيقات n-tier الموزعة حيث يمكن اعتبار COM+ أنها ناتج دمج أساس تقنية COM مع تقنيات اخرى، في مقدمتها MTS ملقم معاملات مايكروسوفت. 

ولأي إستفسار الرجاء ترك تعليقاتكم لأقوم بالإجابة عليها في القريب العاجلfaseel

لا تقرأ وترحل شارك معنا بتعليق فنحن نسعى لنقدم لك الافضل والاجمل



ضع تعليقك

0 التعليقات:

البحــث

English French German Spain Italian Dutch

Russian Portuguese Japanese Korean Arabic Chinese Simplified

المتابعون

استثمارا للخبرات العالية والإمكانات التقنية المتميزة والطاقات البشرية الكبيرة التي تتميز بها "ابداع" أنشأت المؤسسة إدارة تتبنى عمل المواقع الخدمية المتنوعة للأفراد والهيئات والمؤسسات الكبرى. كما يمكنها عمل مواقع للتجارة الإلكترونية تتمكن الشركات والمتاجر من ترويج منتجاتها في كافة أنحاء العالم وتزويد مواقعها بإمكانية البيع عبر الإنترنت وتشمل خدمة بناء مواقع الإنترنت عدة مراحل بدأ من عملية التصميم المبدئي للموقع، وحتى الانتهاء منه، والقيام بتحديث الموقع كلما تطلب الأمر كما تتميز مؤسسة "ابداع" بأقوى فريق عمل متواصل مع العملاء 24 ساعة على مدار الأسبوع وتمتاز أيضا بكفاءة الدقة والسرعة في العمل لذلك نحمد الله العلي العظيم على منحنا تلك القدرة