السلام عليكم ورحمة الله وبركاته
لدي سؤال بخصوص DLL
ماذا تعني؟
وفي ماذا تستخدم ؟
أمثلة في استخداماتها ؟
ولكم جزيل الشكر مقدما...
السلام عليكم ورحمة الله وبركاته
لدي سؤال بخصوص DLL
ماذا تعني؟
وفي ماذا تستخدم ؟
أمثلة في استخداماتها ؟
ولكم جزيل الشكر مقدما...
لدي مشكله .. لقد عملت ملف من نوع DLL ولكنني لا اعرف كيف استفيد منه في مشاريع ... ولقد كل ذلك من دروس الاخ abodee
ارجوا منكم الحل الامثل
** أقم صلاتك قبل مماتك **
الصلاة : جالبة للرزق . حافظة للصحة دافعة للأذى ، طاردة للأدواء ، مقوية للقلب ، مبيضة للوجه ، مفرحة للنفس ، مذهبة للكسل ، منشطة للجوارح ، ممدة للقوى ،شارحة للصدر، مغذية للروح ، منورة للقلب ، حافظة للنعمة ، دافعة للنقمة ، جالبة للبركة, مبعدة من الشيطان.
* هل تعلم أن النبي صلى الله عليه وسلم وصف تارك الصلاة بالكفر ؟
* هل تعلم أن الذي لا يصلي إذا مات لا يدفن في مقابر المسلمين!!
* هل تعلم أن أول ما تحاسب عليه الصلاة ؟
* هل تعلم أن تارك الصلاة يحشر يوم القيامة مع فرعون ؟
* هل تعلم أن تارك الصلاة مع المجرمين في جهنم ؟
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
مشكور اخي xacker على الرد
السبب في السؤال عن ال DLL هو اني احتاج هذه الخاصية لتنفيذ الربط مابين الفيجول بيسك وبرنامج
الprolog حتى استفيد من واجهات الفيجول بيسك
اخونا الكريم Xacker
شكرا جزيلا علي الشرح البسيط الذى يناسب المبتدئين زى حالاتي
لي سؤالان لو تكرمت
قولي اتفضل اوى اوى
شكرا جزيلا بارك الله قيك
1 - اولا انا لا اعرف اى شئ عن ال dll هذا لكن طبعا شايفه رايح جاى في كل حتة ، في كل المزايا التى ذكرتها لملفات ال dll يمكن وضعها قي موديول او كلاس موديول ولا وجع قلب و تعلم كيفية التعامل مع ملفات ال دلل من خلال البرنامج و مشاكل التسجيل ان وجدت !! اقصد مما سبق ما هي ميزتها عن الكتابة في موديول مثلا ؟
2 - من خلال مشاهداتي الجميع يفضل عمل ال dll باستخدام لغة السي و ليس الفيجوال ، لماذا ؟؟
شكرا جزيلا اخي الفاضل
![29_09_05_02_32_59_1128029579_4_13_3[_].gif](http://www.arabteam2000.com/picload/pics/29_09_05_02_32_59_1128029579_4_13_3%5B_%5D.gif)
صور gif شفافة لتجميل واجة البرنامج
الخط العثماني للمهتمين ببرمجة برامج تلاوة القرآن
كيف يمكن عمل سكرول بالماوس, scroling by mouse wheel
هل نكذب علي الله ام نكذب علي انفسنا
البـر لا يبلي ، و الذنب لا ينسـي ، و الديـان لا يمـوت ، افعـل مـا شئت كما تـديـن تـدان
ليس كل من تعمم مفتيا ، بل ان الدين الاسلامي ليس قيه كهانه و بالتالي ليس فيه ما يعرف ب رجال الدين – احمد رجب
مع خالص تحيـــــــــــــــــــــــــــــــــاتي
GAF58
بعد التحية ...
1- لكي تعطيها لبقية المبرمجين دون ان يتمكنوا من الاطلاع على الكود
لكي يستخدمها اكثر من برنامج في آن واحد ، بدون ان تكون موجودة في كل برنامج
2- لان ال Dll الناتجة من الفيجوال ليست حقيقة بل هي ActiveX ، اما التي بالسي فهي True API ،، طبعا ، لم تعد هذه مشكلة ، حيث يوجد Add-in للفيجوال يقوم بهذه
Mohammed-Saeed كتب:بعد التحية ...1- لكي تعطيها لبقية المبرمجين دون ان يتمكنوا من الاطلاع على الكود
لكي يستخدمها اكثر من برنامج في آن واحد ، بدون ان تكون موجودة في كل برنامج
2- لان ال Dll الناتجة من الفيجوال ليست حقيقة بل هي ActiveX ، اما التي بالسي فهي True API ،، طبعا ، لم تعد هذه مشكلة ، حيث يوجد Add-in للفيجوال يقوم بهذه
شكرا جزيلا اخونا الكريم Mohammed-Saeed علي الاهتمام و الفائدة
جزاكم الله عنا خير الجزاء
![29_09_05_02_32_59_1128029579_4_13_3[_].gif](http://www.arabteam2000.com/picload/pics/29_09_05_02_32_59_1128029579_4_13_3%5B_%5D.gif)
صور gif شفافة لتجميل واجة البرنامج
الخط العثماني للمهتمين ببرمجة برامج تلاوة القرآن
كيف يمكن عمل سكرول بالماوس, scroling by mouse wheel
هل نكذب علي الله ام نكذب علي انفسنا
البـر لا يبلي ، و الذنب لا ينسـي ، و الديـان لا يمـوت ، افعـل مـا شئت كما تـديـن تـدان
ليس كل من تعمم مفتيا ، بل ان الدين الاسلامي ليس قيه كهانه و بالتالي ليس فيه ما يعرف ب رجال الدين – احمد رجب
مع خالص تحيـــــــــــــــــــــــــــــــــاتي
GAF58
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
:angry: أشوف ماجاوبتوا على سؤالي
وكمان عندي سؤال ثاني :D
بالنسبة للفيجول بيسك عشان ابني تطبيق علشان اربطة مع برنامج البرولوج احتاج vb.bas الموجود في المسار
lsapis/vb directory
اريد معرفة كيف اصنع هذا الامتداد ؟؟؟؟؟؟؟؟
عذرا منك فانا لم استخدم برنامج 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
بعد التحية ...
بالنسبة لل DLL ، انها ActiveX ، فهذا ما قاله صاحب برنامج VBThunder ، و الذي يقوم بتمكينك من اضافة اكواد ال C /ASM في الفيجوال ... و كذلك يمكنك من اصدار TRUE API DLL ...
و اعتقد ان من قام بتصميم هكذا برنامج ، لن يخطئ في هذه ...
و لك الشكر
مشكورين على المعلومات عن DLL
معلومة بسيطة للتوضيح
ال DLL يوجد بها اكثر من نوع، هناك ال Standard DLL مثل التى موجوة في ويندوز وبها دوال ال API، وحتى نستطيع إستخدامها علينا تعريفها من خلالDeclare
وهذا النوع لا يمكن كتابته بالفجيوال بيسيك، فقط من خلال لغة السي او الدلفي
النوع الاخر هو ActiveX DLL وهو الذى يبنى على تقنية COM، ويمكننا بنائه بفيجوال بيسيك منذ الاصدار الخامس، وهو الذى نستخدمه من خلال ال Add reference
هناك نوع اخير وهو Assembly DLL، وهي المكتبات التى يتم بنائها من خلال اي لغة في الدوت نت
هناك موضوع عن +COM في منتدى السي شارب، يمكنكم الاطلاع عليه لمزيد من المعلومات عن تقنية ال COM وتجدوه في هذا الرابط
لا تحزن:
إن كنت فقيرا فغيرك محبوس في دين، وإن كنت لا تملك وسيلة نقل فسواك مبتور القدمين، وان كنت تشكوا من آلام فغيرك يرقدون على الاسرة البيضاء و من سنوات، وان فقدت ولدا فغيرك فقد عددا من الأولاد و في حادث واحد.
لا تحزن:
فأنت تشرب الماء الزلال، و تستنشق الهواء الطلق، و تمشي على قدميك معافى، و تنام ليلك آمنا.
مشكور على التوضيح اخ محمد اما بالنسبة لردي فقد كان بخصوص التسمية ActiveX حيث لا يمكن ان نطلق على ملف المكتبة هذا الاسم!
والتحية
Do as I say, not as I do
We are Anonymous. We are Legion. We don't forgive. We don't forget
مشكورين اخواني على الردود الله يعطيكم العافية...
أخي Xacker
يمكن تسمية نوع مكتبات ال DLL المعتمدة على تقنية COM بـ ActiveX DLL، وهذا اسم معتمد من ميكروسوفت
اما اذا ذكرت ال ActiveX لوحدها فقط فهذه معناه ActiveX controls او OCX
وكل هذه التسميات اشتقاقات من التقنية الاصلية وهي ال COM
لا تحزن:
إن كنت فقيرا فغيرك محبوس في دين، وإن كنت لا تملك وسيلة نقل فسواك مبتور القدمين، وان كنت تشكوا من آلام فغيرك يرقدون على الاسرة البيضاء و من سنوات، وان فقدت ولدا فغيرك فقد عددا من الأولاد و في حادث واحد.
لا تحزن:
فأنت تشرب الماء الزلال، و تستنشق الهواء الطلق، و تمشي على قدميك معافى، و تنام ليلك آمنا.
هذا الموضوع مغلق.