مناقشة موضوع إنشاء ActiveX Control (الدرس الاول ) في دروس لغات البرمجة; الدرس الاول تقنية OCX - وبداية ظهور Activex : إن ثورة التقنيات لـ Visual basic Microsoft بدأت مع الإصدار الأول وأخذت تنموا بالتدريج حتى كانت الثورة الثانية في الإصدار الرابع حيث في هذا الإصدار تم تغير ...
إن ثورة التقنيات لـ Visual basic Microsoft بدأت مع الإصدار الأول وأخذت تنموا بالتدريج حتى كانت الثورة الثانية في الإصدار الرابع حيث في هذا الإصدار تم تغير محركEngine (وهوا الملف الذي يدعم البرامج أثناء تشغيلها ويسمى VVBRUN والذي كان مبني على تقنية 16-Bit ويعرف باسم Ruby والذي قام بابتكاره (الآن كوبر ) الأب الروحي لـ Visual basic) وفي بداية ظهور تقنية 32-Bit (Windows95 & WindowsNt) قامت Microsoft ببناء محرك جديد أسمته Object Basic والذي يعرف الآن باسم VBA وكان أهم ما في هذا المحرك هوا دعمه لتقنية COM .
وكان مع الإصدار الرابع على مطوري Visual basic دعم أدوات التحكم الخاصة Custom Controls ولم تكن VBX صالحة لذلك لا شكلاً ولا مضمونا , وكان البديل لذلك هوا دعم هذه الأدوات عن طريق تقينه OLE 2 ولكن لم تفي تقنية OLE 2 باحتياجات Visual basic لذلك تم تطوير OLE في صورة ابتكار أداة تحكم قائمة على OLE سميت (ocx)
ومع تتطور أنظمة التشغيل التي تعمل على تقنية 32-Bit وانتشارها , ومع ظهور لغات برمجة الانترنت المختلفة , قامت Microsoft بتغير هندسة تقنية ocx لتصبح صالحة للاستخدام على الشبكات وبخاصة شبكة الانترنت وقد قامت الشركة أيضاُ بتغير اسم التقنية من OLE والتي بنيت عليها ocx إلىActiveX .
ومن هنا بدأت الثورة الحقيقة لمبرمجين Visual Basic وهي إتاحة تطوير الأدوات Activex لتكون أسهل الطرق لإنتاج كائنات جديدة أو برمجة صفحات الويب بواسطة هذه التقنية .
وظيفة Activex :
سنتحدث كما ذكرت سابقاً عن طرق كيفية إنتاج كائنات ، واقصد بالكائن أداه جديدة سنقوم ببرمجتها ونقوم بالتعامل معها كتلك التي هي موجودة في صندوق الأدوات مثل زر الأمر Command Button أو أداة النص Label وغيرها من الكائنات(الأدوات) .
وحينما نتحدث عن إنتاج كائن جديد سوف بلا شك ستظهر لهذا الكائن خصائص Properties خاصة به , ووضائف (طرق) Methods , و أحداث Events معينة لهذا الكائن الجديد , لذلك سوف نقوم ببرمجة هذه الأحداث والطرق والخصائص كي يتمكن من سيستخدم هذا الكائن من المبرمجين التحكم بالكائن حسب الرغبة .
وهنا نحن في هذه الحالة سوف نطلق على أنفسنا مصممين الأداة بينما من سيستخدمها هوا المبرمج ولكي يتبين الأمر سوف أأخذ على سبيل المثال زر الأمر Command Button الموجود في صندوق الأدوات , نحن عندما نقوم بوضع هذا الزر على الـForm لنا حرية التحكم بتغير الحجم أو اسم الزر أو عنوانه وهذه العمليات تتم عن طريق الخصائص الموجودة للزر والتي قام بتصميمها مبرمجو الفيجول بيسك وتركوا للمبرمج حرية التحكم به عن طريق الخصائص . أيضاُ لجعل هذا الزر ينفذ عمل معين حسب رغبة المبرمج لذلك قام مصمم الأداة بوضع أحداث معينة لهذا الزر وهذه الأحداث : منها من هوا المسئول عن تنفيذ عمل معين إذا قام المستخدم بالنقر على الزر أو ضغط أحد المفاتيح .... وغيرها من الأحداث والتي سوف نتناول أن شاء الله الكثير من التفاصيل عنها في الدروس القادمة في قسم برمجة الأحداث .
بعد أن قمنا بتوضيح الفرق بين المبرمج والمصمم سوف ننطلق في بحر كائنات Activex كمصممين , وباعتقادي أن المصمم هوا أعلى درجة من المبرمج لأن المصمم هوا الذي سيقوم بتقديم كائن جديد للمبرمج ليقوم باستخدامه وفق الشروط التي قام بوضعها المبرمج على الأداة وأقصد بالشروط هي طرق التعامل مع الكائن .
الشروط التي يجب توافرها في المصمم :
هناك بعض الاستحباب لمن أراد أن يتقن هذه التقنيات والتي جمعتها حسب اعتقادي على شكل نقاط كما يلي :
1 - أن يكون ملماُ بأوامر ومصطلحات البرمجة وفاهم عمل الخصائص والوظائف العامة للكائنات لان المصمم في هذه الحالة هوا الذي سيقوم ببرمجة خصائص جديدة وطرق وأحداث لذلك يجب أن يعرف الغرض من هذه العمليات .
2- أن يجيد التعامل مع الإجراءات والدوال والخوارزميات .
3- معرفة التعامل مع الوحدات النمطية Module و الفئات Class , على سبيل الاستحباب لإنتاج كائن ذو كفاءة عالية .
4- أن تتوفر لدية الخبرة في التعامل مع دوال API كي يتم بناء كائن أقل هدرا لذاكرة الحاسوب وأكثر كفاءة في التعامل .
ولا أقصد أن من لم يجيد هذه الشروط هوا من يستطيع عمل هذه الكائنات وإنما هوا على سبيل ذكر من أراد الخبرة في التعامل مع هذه التقنية , ويكفي لبناء كائن بسيط فهم أساسيات معينة فقط ثم بعد ذلك يمكن لمن أراد التعمق مع هذه الأدوات أن يتحلى بهذه الشروط .
فإن كنت مهتما بها فلننطلق معاً لفهم أساسيات تصميم الكائنات ولننطلق من فئة المبرمجين إلى فئة المصممين.
في الدرس القادم إن شاء الله سوف نتعرف بشكل عملي كيفية عمل أدوات ocx , وبعد شرح الطرق سنقوم ببرمجة زر مشابه لأزرار برنامج Sub7 من الصفر باستخدام دوال Api .
ملاحظة : المصطلحات السابقة يمكنك البحث عنها في المنتدى أو أحد المراجع لفهم عمل تلك التقنيات فما يهمنا هوا كل ما يتعلق بكائنات ocx حتى لا يتشعب الموضوع.
الشرح والبرمجة باستخدام Microsoft Visual Basic 6 .