تتمثل نقطة البداية لتقنية المكونات الإضافية بشكل أساسي في تمكين البرامج من توسيع الوظائف بمرونة دون الحاجة إلى إعادة ترجمة البرنامج الرئيسي ونشره (برنامج إطار العمل). مبدأها بسيط للغاية. يتم تحديد وظيفة البرنامج من خلال البرامج الإطارية والمكونات الإضافية. توجد واجهة محددة بين برنامج الإطار والمكون الإضافي، والتي يجب من خلالها تمرير البيانات أو التحكم في المعلومات لتنفيذ وظائف البرنامج. لذلك، طالما أن البرنامج (أو أي كيان وظيفي آخر) يتوافق مع هذه الواجهة، فإنه يُسمى مكونًا إضافيًا لبرنامج إطار العمل.
تنقسم كيانات المكونات الإضافية عمومًا إلى نوعين: أحدهما عبارة عن برنامج يحتوي على منطق، مثل المكتبة الديناميكية وبرنامج Exe وما إلى ذلك؛ والآخر عبارة عن مجموعة من معلومات التكوين. تُستخدم الطريقة الأولى في الغالب في برامج الرسم وبرامج تشغيل الوسائط، وهي مناسبة لتحقيق الوظائف المعقدة، وتُستخدم الطريقة الأخيرة في الغالب لتحقيق وظيفة الجلد للبرامج والوحدات الوظيفية الأخرى التي لا تتطلب حسابات معقدة (هناك العديد من الألعاب)؛ ). ويتم تنفيذ المستويات البرمجية أيضًا بهذه الطريقة، مثل Lianliankan من Ada Software).
تقدم هذه المقالة برنامج إطار العمل وأمثلة الاستخدام لإدارة Dll في عملية تنفيذ برنامج إطار عمل Dll الإضافي، كأساس للقراء لتصميم برامج المكونات الإضافية. على وجه التحديد، يحتاج برنامج إطار العمل إلى إكمال ثلاث وظائف: تحميل المكونات الإضافية، واستدعاء الوظائف، وإلغاء التثبيت.
في الواقع، كل برنامج لوحة تحكم هو مكون إضافي لنظام التشغيل. لأن كل ملف .cpl هو ملف Dll يقوم بتنفيذ واجهة معينة. وينطبق الشيء نفسه على برنامج خدمة Windows، الذي يعالج فقط رسائل Windows محددة بناءً على البرنامج الأصلي.
في الواقع، بشكل عام، كل برنامج يعمل على نظام التشغيل هو "مكون إضافي" لبرنامج نظام التشغيل.
في الواقع، في دلفي، يوجد بالفعل إطار عمل لإدارة المكونات الإضافية، وهو bpl. يمكن أيضًا تحقيق توسيع الوظائف الإضافية بسهولة باستخدام حزمة مكونات bpl. ومع ذلك، فإن هذه الطريقة بها عيب: فهي لا تدعم تطوير المكونات الإضافية باستخدام أدوات التطوير الأخرى (مثل vb وvc++).
)
يتم تعريف فئتين أساسيتين في وحدة untDllManager:
TDll: الفئة الأصلية لجميع فئات Dll، التي توفر العمليات ذات الصلة بالتحميل والتفريغ؛
TDllManager: فئة الحاوية لفئة Dll. يدعم إلغاء تثبيت كيانات Dll عن طريق حذف العناصر.
فيما يلي رسم تخطيطي للفئة: