<<ملفات Dll ما هي و ما فائدتها و ما العمل عند فقدان احدها>>
http://www.mexat.com/vb/attachment.p...1&d=1182164379
http://www.mexat.com/vb/attachment.p...1&d=1183487962
DLL
السلام عليكم و رحمة الله و بركاته
بسم الله الرحمن الرحيم
نبدأ اول حلقة ببرنامجنا عن ملفات الـ DLL التي هي اختصار لكلمة Dynamic Link Library (مكتبة الربط الديناميكي)، و ما هي فائدتها بالكمبيوتر و البرامج، و في حال فقدان احدها او عدم وجودها بالجهاز كيفية الحصول عليها، و انا هنا حاولت تبسيط اللغة قدر المستطاع لتقدروا على فهمها، و اتمنى انه اكون عند حسن ظنكم :
http://www.mexat.com/vb/attachment.p...1&d=1183488097
ما هي:
DLL (Dynamic Link Library) هي عبارة عن مجموعة من البرامج الصغيرة (Small Programs) يتم استدعائها عن الحاجة اليها من البرامج الكبيرة او برامج التنفيذية EXE (Executable) عند عملها ، و ملف الـ DLL يجعل البرنامج التنفيذي يتصل باداة معينة (Device) مثل الطابعة (Printer) و غيرها من الادوات ، او قد يحتوي على مجموعة من الرموز (Codes) من اجل اداء امر معين. فعند حاجة الملف التنفيذي لملف الـ DLL فانه يقوم باستدعائه و استخدام الامر المناسب له من بين مجموعة الاوامر التي فيه.
مثال على ذلك برنامج تنفيذي بحاجة الى مكان فارغ بالقرص الصلب (HardDisk)، يقوم هذا البرنامج باستدعاء ملف الـ DLL الذي يحتوي على الاوامر اللازمة لذلك، فيقوم ملف الـDLL باخبار البرنامج التنفيذي عن المكان الفارغ، و هذا يجعل البرنامج التنفيذي اقل حجما و دون الحاجة الى كتابة الامر الذي اصلا موجود. و بالتالي لن تحتاج جميع البرامج كتابة الاوامر التي تحتوي على معلومات عن الاماكن الفارغة، و هذا ما يوفره ملف الـ DLL المختص بذلك.
http://www.mexat.com/vb/attachment.p...1&d=1183488097
فوائدها و خصائصها:
1- التقليل من مساحة الـRAM المستخدمة: احد ميزات ملفات الـ DLL او بالاحرى فائدتها، هي عدم الحاجة الى تخزينها في ذاكرة الدخول العشاوئي (Random Access Memory) مع البرنامج التنفيذي الذي يعمل ، و بالتالي توفير المساحة في الـ RAM ، مثلا عند عمل على معالج النصوص وورد (Microsoft Word) و ارادة طباعة النص على الطابعة (Printer)، فانه يتم استدعاء ملف الـDLL الخاص بالطابعة دون الحاجة الى تخزينه بالـ RAM مع البرنامج التنفيذي ، و يتم استخدام الاوامر التي فيه لطباعة النص.
2- ادارة الذاكرة: فملفات الــ DLL مصنفة الى قطاعات، و كل قطاع يحتوي على الصفات الخاصة فيه، مثل قابل للكتابة(Writable) او فقط للقراءة(Read-Only)، قابل للتنفيذ(Executable) او غير قابل للتنفيذ(Non-Executable).
و الرموز(Codes) في ملفات الـ DLL يتم استخدامها باكثر من برنامج تنفيذي واحد و بالتالي يتم وجوده في مكان واحد في قطاع محدد يالقرص الصلب. و لا داعي لوجوده في اكثر من مكان لاكثر من برنامج و بالتالي سهولة الوصول اليه.
3- استيراد المكتبات: فكل ملف DLL يحتوي على عنوان استيراد(Import Address) خاص به، فحين حاجة ملف تنفيذي الى هذا الملف فانه يقوم بطلب هذا العنوان لاستدعاء الملف. حيث يوجد جدول للعنوانين خاص لملفات الــ DLL يتم الحصول على العنواين منه و استدعاء الملفات المطلوبة.
فملفات الــ DLL هي ملفات تنفيذية صغيرة لا يمكن ان تشتغل لوحدها، تشتغل فقط من خلال برنامج تنفيذي كبير، مثل عمل سيارة بمحرك، فلا يمكن عمل السيارة دون المحرك.
http://www.mexat.com/vb/attachment.p...1&d=1183488097
الاخطاء:
و حين حدوث استدعاء بطريقة خاطئة ، سوف يظهر خطأ GPF(General Protection Fault)(خطأ حماية عام). فان سبب هذا الخطأ قد يكون خلل في عملية الاستدعاء او عدم وجود الاوامر المطلوبة في الملف الـ DLL المستدعى او عدم وجود الملف اصلا او ان الملف المستدعى لا يتفق مع نظام التشغيل(Operating System) الموجود.
و قد يظهر الخطأ خلال عملك على الويندوز او عند تشغيلك لبرنامج او لعبة على الكمبيوتر، و تحتوي نافذة الخطأ على اسم ملف الـ DLL و معلومات عن الخلل الذي حدث، و هنا مثالين حول الامر:
http://aycu10.webshots.com/image/217...7399809_rs.jpg
حيث انه هذا الخطأ يقول ان البرنامج لم يقبل ان يعمل لان الملف d3dx9_25.dll لم يتم العثور عليه، اعادة تحميل البرنامج قد يحل الامر.
اذا تم اعادة التحميل و لم يحل الامر هذا معناه انه الملف d3dx9_25.dll غير موجود، و بالتالي لن يستطيع البرنامج استدعاء الملف و الحصول على الامر اللازم له.
و هذا الخطأ يظهر اكثر شيء عند محاولة تشغيل العاب الكمبيوتر التي تستخدم الــ DirectX، و ظهوره يجعل المستخدم يعتقد بان اللعبة تالفة و يستسلم، لكن الحل موجود و هو فقط تحميل هذا الملف الناقص.
http://aycu03.webshots.com/image/215...3839353_rs.jpg
و هذا خطئ اخر ظهر لعدم القدرة على تشغيل ملف Mcmapi.dll و قد يكون السبب عدم وجود ذاكرة كفاية، او عدم وجود مصادر تشغيل، او عدم وجود ملف الــ DLL.
يمكن حلها باحدى هذه الطرق لكن غالبا يكون السبب هو عدم وجود ملف الـDLL ، و لحل هذه المشكلة يجب علينا ايضا تحميل الملف الناقص .
http://www.mexat.com/vb/attachment.p...9&d=1184605581
فاصل و نواصل
هل تعلم
هل تعلم انه تستطيع فتح متصفح الاكسبلورر و تصفح الانترنت من خلال اي نافذة مفتوحة بالويندوز ، في اعلى كل نافذة تجد شريط يحتوي على مسار النافذة المفتوحة ، مثل عند فتحك لنافذة My Computer يكون كهذه الصورة:
http://aycu21.webshots.com/image/213...7913269_rs.jpg
فقط ما عليك فعله هو كتابة عنوان الموقع الذي تريد فتحه مكان كلمة My computer مثل www.mexat.com ثم اضغط Enter ، وسوف يفتح لك الموقع و تغير النافذة الى نافذة الاكسبلورر ، و اذا اردت العودة الى النافذة الاصلية ما عليك فعله فقط الضغط على زر العودة للخلف Back .
و ايضا تستطيع استخدام عكس العملية، اذ انه انت على موقع الكتروني اكتب مثلا My computer في شريط عنوان الموقع و اضغط Enter و سوف يتم فتح الـ My computer الخاص بجهازك و ايضا يمكنك استخدام مسارات اخرى لذلك.