دروس
DLL

عقارية المدينة 6-12-1430هـ للاعلان جوال 0507445115 حراج سيارات 19-4-1431هـ
افضل و اقوى و احلى و اجمل موقع افلام و فيديو يوتيوب youtube على الاطلاق للاعلان جوال 0507445115 بنات الرياض سعوديات نسائي بناتي حريمي

تابع حالة الطقس في اكبر و اشهر مدن المملكة العربية السعودية | منتديات | مقاطع فيديو تحميل افلام موقع يوتيوب youtube العاب بنات hguhf fkhj | تحميل صور jpldg w,v | بلاك بيري | بنات السعودية | قصص بنات

احصائيات سريعة
اقسام على الموقع
دروس في أنظمة التشغيل | ماي سكيول - MySQL | لفيجوال بيسك - Visual Basic | المات لاب Matlab | اللينكس و اليونكس | الاسمبلي - ASSEMBLY | الاوتلوك - Outlook | البرمجة تحت اللنكس -Linux Programming | البرمجة تحت وندوز بواسطة دوال ال win API | البرمجة في بيئة الدوت نت .Net | التصمبم والرسوم | الدلفي - Delphi | الجافا - Java | السي - C | الصوت و الصورة | الوورد - Word | القسم العام للأوفيس | الكوبول - COBOL | control panel-ftp | اوراكل - Oracle | اكسل - Excel | تحميل الملفات | برامج متنوعة | برامج التصفح | برامج الحماية | برامج إنترنت | تعرّف على الويب | بوربوينت - Power Point | images | دروس : كمبيوتر وصيانة | دروس مجلة نيوك phpnuke | دروس مسنجر MSN - yahoo - Gmail | دروس منتديات vBulletin | دروس الجوالات والهواتف | دروس السي بنل cpanel | دروس اكسس access | دروس بيونت شوب برو - point shop pro | دروس برمجة php - mysql | دروس برامج منوعة software | دروس ثري دي ماكس 3D max | دروس تطوير المواقع والمنتديات | دروس جافا سكريبت JavaScript | دروس دريم ويفر DreamWeaver | دروس شبكات Networks | دروس سويش - swish | دروس فلاش - flash | دروس فلاش mx | دروس فى نظام الوندوز WINDOWS | دروس فىالباسكال - Pascal | دروس فيجوال بيسك Visual Basic | دروس فرونت بيج - frontpage | دروس فوتوشوب photoshop | دروس هكر hacker crack virus | سي ++ | سي شارب - #C | فيجوال سي ++ - ++ Visual C | قسم البرمجة العام | دروس فى لغة HTML
البحث في المواد

اكثر المحتويات زيارة
الدوال في الاكسل (14,836 مشاهده)
تعريف الفن التشكيلي: (14,801 مشاهده)
ربط قاعدة بيانات أكسس (MS Access) مع برنامج الفيجوال بيسك بطريقة(ODBC) (10,760 مشاهده)
دروس في الأوفيس الأكسس - Access0- (10,231 مشاهده)
أنواع العلاقات وطريقة الربط بين الجداول. (10,165 مشاهده)
شرح طريقة استعمال الأوتلوك مع بريد الهوتميل (7,341 مشاهده)
تغيير لغة واجهة التطبيق من عربي الى انجليزي وبالعكس لـ Windows-based applications (7,335 مشاهده)
ما هي شبكة الانترنت: (6,452 مشاهده)
الدرس الثالث : بعض تطبيقات الدوال في اكسل (6,207 مشاهده)
تعريف الاستعلام وطريقة عرضه في آكسس، أنواع الاستعلامات، نافذة تحديد الاستعلام! (6,189 مشاهده)
اضافه صوت ونص لخلفيه في باور بوينت (6,180 مشاهده)
المنظور الفوتوغرافي Perspective Drawing (6,128 مشاهده)
ما هو برنامج الاكسل -00 (5,994 مشاهده)
أنشئ قاعدة بياناتك التي ستستند إليها في تعلم طريقة ربط الجداول والاستعلامات. (5,752 مشاهده)
الدرس الثاني : عمل خلفيات ملونة لشرائح (5,533 مشاهده)
نظام التشغيل (Windows) (5,526 مشاهده)
الدرس الأول : عمل شريحة في البوربوينت (5,430 مشاهده)
الدرس الثاني: بعض الحيل لتسهيل برنامج اكسل (5,426 مشاهده)
لإجراء العمليات الحسابية (4,946 مشاهده)
مقدمة عامة حول الاكسل وحيل خاصة بالاكسل0-- (4,914 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس .0--- (4,870 مشاهده)
كيفية تنصيب Turbo C++ وتشغيل برنامج بلغة السي عليه!- (4,829 مشاهده)
vالدرس الأول : عمل شريحة في البوربوينت (4,819 مشاهده)
الدرس الثالث: كيفية عمل مراحل انتقالية للشرائح (4,809 مشاهده)
اضافة الحركات للصور والنصوص (4,744 مشاهده)
جديد مواد مع عشوائي
التحويل التلقائي للحروف ل- ل- ه إلى اسم الجلالة0---- (2,360 مشاهده)
النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0---النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0--- (1,776 مشاهده)
ضبط خيارات اللغة فى الـ Microsoft Word0--- (2,190 مشاهده)
استخدام لوحة المفاتيح في الـ Word0---- (2,382 مشاهده)
إضافة كلمة سر إلي ملفات الورد دون استخدام برامج0--- (2,320 مشاهده)
دمج المراسلات0-- (1,428 مشاهده)
وضع صورة كخلفية للنص0-- (1,870 مشاهده)
السماح للمستخدمين بتعديل أجزاء من ملف وورد محمي (Word2003)0--- (1,447 مشاهده)
كتابة الأرقام الكسرية ورموز المعادلات0-- (2,057 مشاهده)
درس كامل عن الدمج السهل من لوحة المفاتيح ف0-ي برنامج الـ Word (1,612 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس .0--- (4,870 مشاهده)
دورة الأكسيس : الدرس الرابع : العلاقات0---- (2,661 مشاهده)
أساسيات في Access0--0 (2,376 مشاهده)
تصميم تقرير لطباعة البيانات0---- (2,233 مشاهده)
تصميم نموذج استعراض البيانات‏0--تصميم نموذج استعراض البيانات‏0-- (1,993 مشاهده)
تصميم نموذج إدخال‎ ‎البيانات0--- (2,240 مشاهده)
إنشاء قوائم خاصة باستخدام الماكرو(1)0-- (1,928 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (2)0-- (1,440 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (1)0- (1,510 مشاهده)
استعلامات SQL في Access - تعديل الجداول وإضافة الحقول0- (2,102 مشاهده)
استعلامات SQL في Access - تحديث البيانات الجدولية0-- (1,713 مشاهده)
الاستعلامات الإجرائية -4 (استعلام الحذف)0--- (1,169 مشاهده)
الاستعلامات الإجرائية -2 (استعلام الإلحاق)0--- (1,315 مشاهده)
تصميم تقرير لطباعة الإجمالي0--- (1,420 مشاهده)
استعلامات التحديد Select Query مع أمثله (1)0--- (1,876 مشاهده)
الاسم: DLL DLL
 DLL مرات القرائه: 684 مرة/مرات
التقييم: 0
قم بدعوة صديق
اعلانات في الموقع على جميع الصفحات

DLL




ن موضوع DLL هو من المواضيع المهمة في مجال تطوير البرمجيات ،وهو يمكنك من الإستغلال الأمثل لقدراتك البرمجية, وجعل تطبيقاتك أكثر عالمية (اتساع مدى تداول برمجياتك) ،إلى غير ذلك من الأمور التى يوفرها DLLs لك والتي سأحاول من خلال هذه الدروس إسقاط الضوء عليها ،وقبل ذلك سأعرفك بمعنى هذا المصطلح DLLs الذي كثيراً ما يصادفك منتهيةً إلى شرح طريقة بناء واستخدام DLLs فى تطبيقاتك.

سؤال: هل استخدام DLLs جديد بالنسبة لك فعلاً ؟

جواب: طبعاً لا ،فأنت كمستخدم للنظام Windows تقوم باستخدام DLLs بشكل مستمر ، كيف ذلك ؟

إذا ألقيت نظرة على الحافظة Windows أو الحافظة Windows\system ستعرف معنى ما أقول ، ففى هاتين الحافظتين ستجد المئات من الملفات ذات الامتداد (.dll) .. لماذا وجدت هذه الملفات ؟ وما أهميتها ؟

فى الحقيقة هذه الملفات تحوى دوال Windows API وموارد النظام (Windows Resources) التي تستخدمها أثناء عملك في بيئة النظام Windows .

فمثلاً الدالة (LoadCursor) والدالة (DrawText) المستخدمتان في لغة دلفي هما معرفتان فى الملف (USER32.dll) ، وكل ماعليك القيام به لاستخدامهما هو تضمين الوحدة Windows ضمن الكلمة المحجوزة uses ،وهكذا تستطيع الوصول لهاتين الدالتين وغيرهما من دوال Windows API .

وكذلك الأمر بالنسبة لموارد Windows كصناديق الحوار (File Open, Print , Print Setup) وغيرها مخزنة كموارد Resources فى الملف (COMCTL32.dll).

من خلال هذا الاستهلال البسيط عرفنا أن ملفات DLLs هى جزء أساسي في بنية النظام Windows والتطبيقات العاملة تحته ، ولكن ما هو DLLs ؟

تعريف DLL: إن DLL هو اختصار للعبارة الإنجليزية (Dynamic Link Library) مكتبة الربط الديناميكية أو الحيوية ، وملف DLL هو عبارة عن واحدة أو أكثر من قطع الكود التى تخزن فى ملف بامتداد (.dll) وهو يعمل فى توحد مع الملف التنفيذي (.exe) لتوفير وظائف معينة للتطبيق.

وبالتالي ملف DLL هو ملف مترجم يتم استدعاؤه من البرامج التنفيذية ،لكنه هو ذاته ليس برنامجاً مستقلاً ولا يمكن تنفيذه بمفرده.

البرامج التى تستدعي DLL تدعى : البرامج المستدعية لأنها تستدعى دوال أو إجراءات من dll .

أنواع DLLs : يمكن تصنيف DLLs إلى نوعين هما :

1-CODE DLLs : عند احتواء ملف DLL على كود فقط .

2-RESOURCE DLLs : عند احتواء ملف DLL على مصادر مثل ملفات الصور ،ملفات الصوت ،السلاسل.

كما يمكن أن يحتوى ملف DLL واحد على كل من الكود والموارد معاً.

شكل الدوال والإجراءات فى DLL :

تظهر الدوال والإجراءات فى DLL فى شكلين :

1-دوال وإجراءات مصدّرة :وهى الدوال والإجراءات التى يصدرها DLL إلى التطبيقات أو ال DLLs الأخرى.

2-دوال وإجراءات داخلية: وهى الدوال والإجراءات التى للاستخدام الداخلى لنفس ال DLL ولا يمكن رؤيتها من خلال تطبيقات أو DLLs الأخرى.

سؤال: هل يمكنك أن تبني DLLs خاصة بك ؟

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

وطريقة استدعاء دوال وإجراءات DLLs التى ننجزها بأنفسنا لا تختلف مطلقاً عن طريقة استدعاء دوال وإجراءات Windows API .

رغم كثرة تساؤلاتنا فى هذا الدرس إلا أن السؤال التالي قد يلح عليك : لماذا أحتاج لبناء واستعمال DLLs ؟

يمكن تصنيف ما يقدمه لك استعمالك لل DLLs إلى الأمور المهمة التالية :

1-فعالية إعادة استخدام الكود:

من المعروف أن البرمجة غرضية التوجه تدعم بشكل كبير مفهوم إعادة استخدام الكود ،وهو أن تكتب الكود لمرة واحدة فقط ثم تستخدمه أينما ومتى احتجت إليه.

وربما من الأمور التى لاحظتها خلال مشوارك البرمجى أن الكثير من الأكواد يتكرر استعمالها معك في كثير من التطبيقات (خاصة ذلك الكود المتعلق بالتعامل مع بيئة Windows من فورمات وصناديق رسائل وقوائم إلى آخره)،لإيضاح الموضوع أكثر لنفترض أنك كتبت قطعة كود (دالة مثلاً) لتعالج به خدمة معينة فى Windows وقد استغرق منك إنجاز هذا الكود الكثير من الوقت والجهد ،ألن يكون جميلاً إذا استطعت إعادة استخدام نفس الكود فى باقي تطبيقاتك التي تحتاجه دون أن تضطر لكتابته مرة أخرى وحتى لوكانت هذه التطبيقات مبنية بلغات برمجية أخرى غير لغة الدلفي كـ(Visual Basic, Visual C++) ؟ إن DLLs تمكنك من فعل ذلك.

والأفضل من هذا أنك تستطيع بيع DLLs التى أنجزتها أوتقديمها لمبرمجين آخرين بإمكانهم إستعمالها أيضاً.

إذاً بعد أن تكتب DLL تستطيع استعماله بسهولة أينما ومتى أردت.

2-تقاسم الكود فيما بين عدة تطبيقات:

فى حالة وجود عدة مستخدمين لكل منهم نظامه الخاص الذى يعمل عليه وجميع هؤلاء المستخدمين مرتبطين بشبكة واحدة .

قد يكون هناك جزء من الكود يحتاجه كل واحد منهم ،فبدلاً من كتابة هذا الجزء لعدة مرات حسب عدد المستخدمين فإن DLL يمكنك من كتابته لمرة واحدة ليشترك فيه جميع المستخدمين.

لنعطى مثالاً :إذا كان هناك خمس مستخدمين وقمنا ببرمجة خمس تطبيقات لهؤلاء المستخدمين (المستخدمين مرتبطين فى شبكة) لنفترض أن التطبيقات الخمسة يتكرر فيها جزء مشترك من الكود (متشابه) حجمه 100kb ،وبالتالى يوجد 500kb هى تكرار لنفس الكود ،باستخدام DLL يمكننا كتابة هذا الكود المتكرر لمرة واحدة وتخزينه فى ملف DLL ويمكن للتطبيقات الخمسة أن تصل إليه، وبالتالى نكون قد أنقصنا الحجم الكلى للكود بمقدار 100kb لكل واحد منها ،تظهر فائدة هذا الأمر بوضوح فى حالة وجود مئات المستخدمين أكثر من ظهورها مع هذا العدد المحدود.

3-تقسيم الكود:

إذا استعرضنا بلمحة سريعة تطور البرمجيات نجدها انتقلت عبر عدة مراحل فمن مرحلة البرمجة التسلسلية التى كان البرنامج فيها عبارة عن تسلسل طويل من سطور الأوامر لا يقطعه إلا أوامر القفز من جزء إلى آخر (GOTO) إلى مرحلة البرمجة الهيكلية التى تعتمد على تقسيم البرنامج إلى عدد من الدوال والإجراءات وصولاً إلى مرحلة البرمجة الغرضية التى حولت البرنامج إلى عدد من (الأشياء-الأغراض) لكل منها خصائصه ودواله وإجراءاته وطرقه التى يمكنه أن يورثها إلى أجيال أخرى من (ذات الغرض)، وكان الهاجس الأول للمبرمجين هو جعل برنامجك أكثر سلاسة وسهولة عند رغبتك فى تطويره ،ضمن هذا الإطار فإن تقسيمك لبرنامجك إلى عدة DLLs يجعل إدارته والتعامل معه أكثر سهولة عند تحديثه.

فعندما تقوم بتطوير تطبيقك وترغب فى تقديمه لمستخدميك (ذوي النسخة السابقة من التطبيق) فإن شحذ DLL جديد للمستخدمين بدلاً عن إعادة تجميع (ترجمة) وشحذ مدخلات الملف التنفيذى يعد من الأمور الجيدة لك كمبرمج .

ونعيد القول بأن هذا الأمر تظهر أهميته فى حالة التطبيقات ذات الحجم الكبير ،ويمكنك ملاحظة أن أفضل البرامج فى السوق تعتمد هذه التقنية (ولك فى النظام Windows خير مثال عند ترقيته من إصدار إلى إصدار جديد).

4-تدويل برامجك:

منذ سنوات قليلة مضت كنت تستطيع كتابة برنامجك دون أن تقلق حول السوق العالمية ،حيث تستطيع كتابة البرنامج وبناء (menu items,dialog boxes, hint text ,error message)وغيرها باستخدام لغتك الوطنية ،وتنزل برنامجك إلى السوق دون القلق حوله بعد ذلك .

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

طريقة واحدة يمكن استخدامها وهى بناء RESOURCES DLLS الذى يحتوى سلاسل مصدرية بلغات مختلفة ،فإما أن تعمل DLL منفصل لكل لغة فيكون لديك عدة DLLs بعدة لغات وتقوم فى تطبيقك بتحميل DLL الذي يحوي السلاسل المصدرية للغة المطلوبة ،أو أن تعمل DLL واحد ويحوي جميع السلاسل المصدرية بكل اللغات ثم تحمّل السلاسل المضدرية للغة المطلوبة من هذا الـ DLL .

فى زمن RunTime تستطيع استخدام الدالة LoadString لتحميل السلاسل وإسنادها إلى أدوات ومكونات البرنامج المختلفة حسب احتياجاتك.

مرة أخرى ،التخطيط المسبق يمكن أن يغنيك عن كثير من العمل لاحقاً ،فإذا خططت تطبيقك ومفهوم (التدويل) فى ذهنك فسيكون من السهل عليك ترجمة تطبيقك إلى لغات أخرى عندما يكون ذلك ضرورياً عوضاً عن كتابته مرة أخرى.

5-فعالية استخدام مصادر Windows :

كلما كان تطبيقك قادراً على استغلال موارد النظام بشكل جيد كلما أعتبر تطبيقك قوياً .

هذه الأيام الأنظمة أسرع ،تملك ذاكرة RAM أكبر ،ومساحة Hard Disk أكبر ، أكثر من أي وقت مضى ،وعملك كمبرمج أن تجعل تطبيقاتك تستغل هذه الموارد بالشكل الأمثل.

إن DLLs يساعدك فى تحقيق ذلك ،لنرجع إلى مثالنا السابق بخصوص التطبيقات الخمسة ،قلنا أن هذه التطبيقات تشترك فى جزء من الكود وقلنا بأننا باستخدام DLLs فإننا نستطيع أن نضع هذا الكود المشترك فى ملف DLL ويمكن لكل واحد من التطبيقات الخمسة أن يصل إليه ،عندما ثلاثة تطبيقات منها مثلاً تعمل فى نفس الوقت فإنها ستحمًل بعضاً من ذات الكود داخل الذاكرة ،هذا تخريب لمصادر النظام ،لأن كل برنامج يحمل نسخته الخاصة لنفس الكود ،بدلاً عن ذلك يمكنك باستخدام DLL لتحميل الكود مرة واحدة فقط ،كل التطبيقات يمكنها استخدام نفس الكود فى الذاكرة وبالتالى ينقص الهدر فى النظام (هنا حالة التحميل الديناميكي للـDLL والتى سنناقشها فى دروس قادمة).



الخلاصة:

من خلال هذا الدرس استطعنا أن نكون فكرة واضحة عن ماهية DLL ،وعرفنا لماذا نحتاج DLL كمفهوم من مفاهيم تطوير البؤمجيات تحت النظام Windows .

المراجع:

1- Teach Yourself Borland Delphi In 21 Days

2-Essential Pascal

3-Help of Delphi

4-Help of Visual Basic

درس DLL

أضف هذه المادة في موقعك:
مواد مشابهة:
عمل مجلد الـSETU عمل مجلد الـSETU
عمل مجلد الـSETU
(مرات المشاهدة: 501 مرات)
Dreamweaver MX Dreamweaver MX
Dreamweaver MX
(مرات المشاهدة: 1,279 مرات)
برنامج الأركامكس(برنامج رائع) برنامج الأركامكس(برنامج رائع)
برنامج الأركامكس(برنامج رائع)
(مرات المشاهدة: 225 مرات)
أساسيات في الباسكال أساسيات في الباسكال
أساسيات في الباسكال
(مرات المشاهدة: 443 مرات)
شرح برنامج الـ True Image لعمل صورة طبق الاصل عن القرص الصلب شرح برنامج الـ True Image لعمل صورة طبق الاصل عن القرص الصلب
شرح برنامج الـ True Image لعمل صورة طبق الاصل عن القرص الصلب
(مرات المشاهدة: 984 مرات)
كيف تقوم بنسخ ملف ال ISO الى سيدي بصورة صحيحة كيف تقوم بنسخ ملف ال ISO الى سيدي بصورة صحيحة
كيف تقوم بنسخ ملف ال ISO الى سيدي بصورة صحيحة
(مرات المشاهدة: 1,187 مرات)
Real Producer Plus v8.5 Real Producer Plus v8.5
Real Producer Plus v8.5
(مرات المشاهدة: 585 مرات)
اللمسات الأخيرة في برنامج الأركامكس اللمسات الأخيرة في برنامج الأركامكس
اللمسات الأخيرة في برنامج الأركامكس
(مرات المشاهدة: 262 مرات)
AutoRun CD Studio لبناء سي دي يعمل بشكل تلقائي مع واجهة رسومية AutoRun CD Studio لبناء سي دي يعمل بشكل تلقائي مع واجهة رسومية
AutoRun CD Studio لبناء سي دي يعمل بشكل تلقائي مع واجهة رسومية
(مرات المشاهدة: 2,443 مرات)
اجعل جهاز بين يديك بكبسة زر اجعل جهاز بين يديك بكبسة زر
اجعل جهاز بين يديك بكبسة زر
(مرات المشاهدة: 387 مرات)
About
جميع الحقوق في هذا الموقع محفوظة وكل المواد على الاقسام ملك لاصحابها :Copyright © All rights reserved