عندما نكتب ونجمع تطبيق دلفي ، فإننا عادة ما نقوم بإنشاء ملف قابل للتنفيذ - تطبيق Windows مستقل. على عكس Visual Basic ، على سبيل المثال ، تنتج دلفي التطبيقات ملفوفة في ملفات إكس المدمجة ، دون الحاجة إلى مكتبات وقت التشغيل الضخمة (DLL's).
جرب هذا: ابدأ دلفي وقم بتجميع هذا المشروع الافتراضي بنموذج فارغ واحد ، وهذا سينتج ملفًا قابلاً للتنفيذ يبلغ حجمه حوالي 385 كيلوبايت (دلفي 2006). انتقل الآن إلى Project - خيارات - الحزم وحدد خانة الاختيار "إنشاء مع حزم وقت التشغيل". ترجمة وتشغيل. فويلا ، حجم إكس الآن حوالي 18 كيلوبايت.
بشكل افتراضي ، يتم إلغاء تحديد "البناء مع حزم وقت التشغيل" وفي كل مرة نقوم فيها بإنشاء تطبيق دلفي ، يقوم المترجم بربط جميع التعليمات البرمجية التي يتطلبها تطبيقك لتشغيلها مباشرة في الملف التنفيذي للتطبيق. تطبيقك عبارة عن برنامج قائم بذاته ولا يتطلب أي ملفات داعمة (مثل ملفات DLL) - لهذا السبب تعد ملفات Delphi exe كبيرة جدًا.
طريقة واحدة للخلق برامج دلفي الأصغر هو الاستفادة من "مكتبات حزم Borland" أو BPL باختصار.
ما هي الباقة؟
مكتبة ارتباط ديناميكي خاصة تستخدمها تطبيقات دلفي
تتيح لنا الحزم وضع أجزاء من تطبيقنا في وحدات منفصلة يمكن مشاركتها عبر تطبيقات متعددة. توفر الحزم أيضًا وسيلة لتثبيت المكونات (المخصصة) في منصة PCL في Delphi.
لذلك ، يمكن أن تصنع دلفي نوعين من الحزم:
- حزم وقت التشغيل - توفر وظائف عندما يقوم المستخدم بتشغيل تطبيق - تعمل مثل DLLs القياسية.
- حزم وقت التصميم - تستخدم لتثبيت المكونات في دلفي IDE وإنشاء محررات خاصية خاصة للمكونات المخصصة.
من هذه النقطة سوف تتعامل هذه المقالة مع حزم وقت التشغيل وكيف يمكن أن تساعد مبرمج دلفي.
ميت واحد خاطئ: لا يشترط أن تكون أ مطور مكونات دلفي للاستفادة من الحزم. يجب على مبرمجي دلفي المبتدئين محاولة العمل مع الحزم - سوف يحصلون على فهم أفضل لكيفية عمل الحزم ودلفي.
متى ومتى لا تستخدم الحزم
تُستخدم مكتبات DLL بشكل شائع كمجموعات من الإجراءات والوظائف التي يمكن للبرامج الأخرى استدعاؤها. بالإضافة إلى كتابة ملفات DLL باستخدام إجراءات مخصصة ، يمكننا وضع نموذج Delphi كامل في ملف DLL (على سبيل المثال نموذج AboutBox). أسلوب آخر شائع هو تخزين الموارد في DLLs. مزيد من المعلومات حول كيفية عمل دلفي مع DLLs تجدها في هذه المقالة: دلس ودلفي.
قبل الانتقال إلى المقارنة بين DLLs و BPLs ، يجب أن نفهم طريقتين لربط التعليمات البرمجية في ملف قابل للتنفيذ: الارتباط الثابت والديناميكي.
ربط ثابت يعني أنه عندما يتم تجميع مشروع دلفي ، يتم ربط جميع التعليمات البرمجية التي يتطلبها تطبيقك مباشرة بالملف القابل للتنفيذ الخاص بالتطبيق. إكس الناتجة يحتوي الملف على جميع التعليمات البرمجية من جميع الوحدات المشاركة في المشروع. قد تقول الكثير من التعليمات البرمجية. بشكل افتراضي ، يستخدم عبارة لقائمة وحدة نموذج جديدة أكثر من 5 وحدات (Windows ، Messages ، SysUtils ، ...). ومع ذلك ، فإن رابط دلفي ذكي بما يكفي لربط الحد الأدنى فقط من التعليمات البرمجية في الوحدات المستخدمة بالفعل من قبل المشروع. مع الربط الثابت لتطبيقنا هو برنامج قائم بذاته ولا يتطلب أي حزم دعم أو ملفات DLL (ننسى مكونات BDE و ActiveX في الوقت الحالي). في دلفي ، ربط ثابت هو الافتراضي.
ربط ديناميكي مثل العمل مع ملفات DLL القياسية. أي أن الارتباط الديناميكي يوفر وظائف متعددة التطبيقات دون ربط الرمز مباشرة بكل تطبيق - يتم تحميل أي حزم مطلوبة في مدة العرض. أعظم شيء في الربط الديناميكي هو أن تحميل الحزم من خلال تطبيقك يتم تلقائيًا. لست مضطرًا إلى كتابة رمز لتحميل الحزم ولا يجب عليك تغيير الرمز الخاص بك.
حدد ببساطة خانة الاختيار "إنشاء مع حزم وقت التشغيل" الموجودة في المشروع | مربع الحوار "خيارات". في المرة التالية التي تقوم فيها بإنشاء تطبيقك ، سيتم ربط رمز المشروع ديناميكيًا بحزم وقت التشغيل بدلاً من ربط الوحدات بشكل ثابت في ملفك القابل للتنفيذ.