الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

أريد معلومات مفصلة عن DLL

مغلق
بدأه @SKY@ في 19 أكتوبر 2005 · 15 رد · 1,504 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

لدي سؤال بخصوص DLL

ماذا تعني؟

وفي ماذا تستخدم ؟

أمثلة في استخداماتها ؟

ولكم جزيل الشكر مقدما...

#2

لدي مشكله .. لقد عملت ملف من نوع DLL ولكنني لا اعرف كيف استفيد منه في مشاريع ... ولقد كل ذلك من دروس الاخ abodee

ارجوا منكم الحل الامثل

** أقم صلاتك قبل مماتك **

الصلاة : جالبة للرزق . حافظة ‏للصحة دافعة للأذى ، طاردة للأدواء ، مقوية للقلب ، مبيضة للوجه ، ‏مفرحة للنفس ، مذهبة للكسل ، منشطة للجوارح ، ممدة للقوى ‏،شارحة للصدر، مغذية للروح ، منورة للقلب ، حافظة للنعمة ، دافعة ‏للنقمة ، جالبة للبركة, مبعدة من الشيطان.

* هل تعلم أن النبي صلى الله عليه وسلم وصف تارك الصلاة بالكفر ؟

‏* هل تعلم أن الذي لا يصلي إذا مات لا يدفن في مقابر المسلمين!!

‏* هل تعلم أن أول ما تحاسب عليه الصلاة ؟

‏* هل تعلم أن تارك الصلاة يحشر يوم القيامة مع فرعون ؟

‏* هل تعلم أن تارك الصلاة مع المجرمين في جهنم ؟

#3

DLL هي اختصار لعبارة Dynamic Link Library وتعني مكتبات الربط الديناميكية وهو مفهوم واسع يشير الى ملفات يتم استخدامها من قبل الملفات التنفيذية EXE (executable) لتقوم بتنفيذ وظيفة معينة قام المبرمج بكتابتها وضمنها ضمن مكتبة الربط..

ما الغاية من ملف الـ DLL طالما انه بامكاننا القيام بكتابة الوظائف المطلوبة في الملف التنفيذي نفسه.. يعني ليه بنحتاج الى ملفات DLL؟ الغاية الرئيسية من ملفات الـ DLL هو تنظيم المشروع حيث انك قد تضطر احيانا الى استخدام وظيفة معينة في نفس المشروع في اكثر من ملف وبالتالي ستضطر الى كتابة شفرات الوظيفة او الوظائف ضمن الملف التنفيذي اكثر من مرة وهذا يزيد من حجم المشروع في حال كون هذه الوظائف كبيرة ومعقدة كما انه يجعل امكانية تنقيح المشروع اصعب ناهيك عن زيادة عدد دورات التنفيذ الامر الذي سيبطئ المعالجة ولو بشكل غير ملحوظ.. اذن نستعيض عن هذا بكتابة ملف DLL يحوي الوظيفة المطلوبة ونقوم باستدعاء هذه الوظيفة عند الحاجة من ملف الـ DLL المطلوب وهذا الامر يسمح لنا ايضا باستخدام ملف الـ DLL في مشاريع اخرى دون الحاجة الى اعادة النسخ واللصق للكود! امر اخر وهو افرض انك اردت تعديل امر ما في تلك الوظيفة التي قمت بكتابتها عندها ستضطر في الحالة الاولى الى ارسال نسخة جديدة من البرامج الى العميل وهذا الامر مرفوض في حالة البرامج الكبيرة لذا يعمد الى استخدام مكاتب الربط..

مثال عن كيفية كتابة ملف DLL تحت بيئة C واستدعائه من خلال تطبيق فيجوال بيسك: http://www.logix4u.net/dll_tutorial1.htm

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#4

مشكور اخي xacker على الرد

السبب في السؤال عن ال DLL هو اني احتاج هذه الخاصية لتنفيذ الربط مابين الفيجول بيسك وبرنامج

الprolog حتى استفيد من واجهات الفيجول بيسك

#5

اخونا الكريم Xacker

شكرا جزيلا علي الشرح البسيط الذى يناسب المبتدئين زى حالاتي

لي سؤالان لو تكرمت

قولي اتفضل اوى اوى

شكرا جزيلا بارك الله قيك

1 - اولا انا لا اعرف اى شئ عن ال dll هذا لكن طبعا شايفه رايح جاى في كل حتة ، في كل المزايا التى ذكرتها لملفات ال dll يمكن وضعها قي موديول او كلاس موديول ولا وجع قلب و تعلم كيفية التعامل مع ملفات ال دلل من خلال البرنامج و مشاكل التسجيل ان وجدت !! اقصد مما سبق ما هي ميزتها عن الكتابة في موديول مثلا ؟

2 - من خلال مشاهداتي الجميع يفضل عمل ال dll باستخدام لغة السي و ليس الفيجوال ، لماذا ؟؟

شكرا جزيلا اخي الفاضل

29_09_05_02_32_59_1128029579_4_13_3[_].gif

صور gif شفافة لتجميل واجة البرنامج

الخط العثماني للمهتمين ببرمجة برامج تلاوة القرآن

كيف يمكن عمل سكرول بالماوس, scroling by mouse wheel

كبفية استعراض ملف PDF في تكست

06_02_06_08_01_06_1139241666down-logo_1.gif

هل نكذب علي الله ام نكذب علي انفسنا

البـر لا يبلي ، و الذنب لا ينسـي ، و الديـان لا يمـوت ، افعـل مـا شئت كما تـديـن تـدان

ليس كل من تعمم مفتيا ، بل ان الدين الاسلامي ليس قيه كهانه و بالتالي ليس فيه ما يعرف ب رجال الدين – احمد رجب

                                  مع خالص تحيـــــــــــــــــــــــــــــــــاتي

                                                   GAF58 

#6

بعد التحية ...

1- لكي تعطيها لبقية المبرمجين دون ان يتمكنوا من الاطلاع على الكود

لكي يستخدمها اكثر من برنامج في آن واحد ، بدون ان تكون موجودة في كل برنامج

2- لان ال Dll الناتجة من الفيجوال ليست حقيقة بل هي ActiveX ، اما التي بالسي فهي True API ،، طبعا ، لم تعد هذه مشكلة ، حيث يوجد Add-in للفيجوال يقوم بهذه

#7
Mohammed-Saeed كتب:
بعد التحية ...

1- لكي تعطيها لبقية المبرمجين دون ان يتمكنوا من الاطلاع على الكود

  لكي يستخدمها اكثر من برنامج في آن واحد ، بدون ان تكون موجودة في كل برنامج

2- لان ال Dll الناتجة من الفيجوال ليست حقيقة بل هي ActiveX ، اما التي بالسي فهي True API  ،، طبعا ، لم تعد هذه مشكلة ، حيث يوجد Add-in للفيجوال يقوم بهذه

شكرا جزيلا اخونا الكريم Mohammed-Saeed علي الاهتمام و الفائدة

جزاكم الله عنا خير الجزاء

29_09_05_02_32_59_1128029579_4_13_3[_].gif

صور gif شفافة لتجميل واجة البرنامج

الخط العثماني للمهتمين ببرمجة برامج تلاوة القرآن

كيف يمكن عمل سكرول بالماوس, scroling by mouse wheel

كبفية استعراض ملف PDF في تكست

06_02_06_08_01_06_1139241666down-logo_1.gif

هل نكذب علي الله ام نكذب علي انفسنا

البـر لا يبلي ، و الذنب لا ينسـي ، و الديـان لا يمـوت ، افعـل مـا شئت كما تـديـن تـدان

ليس كل من تعمم مفتيا ، بل ان الدين الاسلامي ليس قيه كهانه و بالتالي ليس فيه ما يعرف ب رجال الدين – احمد رجب

                                  مع خالص تحيـــــــــــــــــــــــــــــــــاتي

                                                   GAF58 

#8
Mohammed-Saeed كتب:
2- لان ال Dll الناتجة من الفيجوال ليست حقيقة بل هي ActiveX ، اما التي بالسي فهي True API  ،، طبعا ، لم تعد هذه مشكلة ، حيث يوجد Add-in للفيجوال يقوم بهذه

للتصحيح فقط.. هي مش ActiveX لكنك تقوم باستدعاء وظائف الـ API من خلال مكتبة msvbvm60.dll وبالتالي هناك طبقتين يمر عبرها استدعاء وظيفة MessageBoxA مثلا من خلال kernel32.dll الامر الذي يزيد من تعقيد الاستدعاء وزمن التنفيذ

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#9

:angry: أشوف ماجاوبتوا على سؤالي

وكمان عندي سؤال ثاني :D

بالنسبة للفيجول بيسك عشان ابني تطبيق علشان اربطة مع برنامج البرولوج احتاج vb.bas الموجود في المسار

lsapis/vb directory

اريد معرفة كيف اصنع هذا الامتداد ؟؟؟؟؟؟؟؟

#10

عذرا منك فانا لم استخدم برنامج prolog من قبل كم اني من اكثر المعارضين للغة الفيجوال :P (وبيجوا كمان بدهم يدرسوني ياها بالكليّة :lol:)

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#11

بعد التحية ...

بالنسبة لل DLL ، انها ActiveX ، فهذا ما قاله صاحب برنامج VBThunder ، و الذي يقوم بتمكينك من اضافة اكواد ال C /ASM في الفيجوال ... و كذلك يمكنك من اصدار TRUE API DLL ...

و اعتقد ان من قام بتصميم هكذا برنامج ، لن يخطئ في هذه ...

و لك الشكر

#12

مشكورين على المعلومات عن DLL

#13

معلومة بسيطة للتوضيح

ال DLL يوجد بها اكثر من نوع، هناك ال Standard DLL مثل التى موجوة في ويندوز وبها دوال ال API، وحتى نستطيع إستخدامها علينا تعريفها من خلالDeclare

وهذا النوع لا يمكن كتابته بالفجيوال بيسيك، فقط من خلال لغة السي او الدلفي

النوع الاخر هو ActiveX DLL وهو الذى يبنى على تقنية COM، ويمكننا بنائه بفيجوال بيسيك منذ الاصدار الخامس، وهو الذى نستخدمه من خلال ال Add reference

هناك نوع اخير وهو Assembly DLL، وهي المكتبات التى يتم بنائها من خلال اي لغة في الدوت نت

هناك موضوع عن +COM في منتدى السي شارب، يمكنكم الاطلاع عليه لمزيد من المعلومات عن تقنية ال COM وتجدوه في هذا الرابط

/index.php?showtopic=57253

لا تحزن:

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

لا تحزن:

فأنت تشرب الماء الزلال، و تستنشق الهواء الطلق، و تمشي على قدميك معافى، و تنام ليلك آمنا.

#14

مشكور على التوضيح اخ محمد اما بالنسبة لردي فقد كان بخصوص التسمية ActiveX حيث لا يمكن ان نطلق على ملف المكتبة هذا الاسم!

والتحية

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#15

مشكورين اخواني على الردود الله يعطيكم العافية...

#16

أخي Xacker

يمكن تسمية نوع مكتبات ال DLL المعتمدة على تقنية COM بـ ActiveX DLL، وهذا اسم معتمد من ميكروسوفت

اما اذا ذكرت ال ActiveX لوحدها فقط فهذه معناه ActiveX controls او OCX

وكل هذه التسميات اشتقاقات من التقنية الاصلية وهي ال COM

لا تحزن:

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

لا تحزن:

فأنت تشرب الماء الزلال، و تستنشق الهواء الطلق، و تمشي على قدميك معافى، و تنام ليلك آمنا.

هذا الموضوع مغلق.

مواضيع مشابهة