كيف يتم انشاء مكتبتي الخاصة ونشرها للاستخدام
#1
السلام عليكم ورحمة الله وبركاته 

كيف يتم انشاء مكتبتي الخاصة ونشرها للاستخدام فقط دون ان يظهر الكود الخاص بي لمستخدم المكتبة ؟ فهل هناك شئ غير المكتبة الديناميكية DLL ؟

كل ما في الامر اريد الاستفادة من مفهوم التغليف .
قل إن صلاتي ونسكي ومحياي ومماتي لله رب العالمين
الرد
#2
وعليكم السلام
لا أعرف ما يدور في رأسك و الغرض من السؤل لأنه يبدوا غريبا نوعا ما؟
أين ستستخدم هذه المكتبة؟
ما الذي ستحتويه؟
سبحان الله وبحمده سبحان الله العظيم
[-] كل من 1 user says قال شكرا ل Agmcz على المشاركة المفيدة
  • ELARAPY
الرد
#3
السلام عليكم ورحمة الله

اسف اخي لعدم طرحي للسؤال بشكل واضح , الامر بسيط.

كل ما في الامر اني اريد ان احتفظ ببعض الاكواد في وحدة خاصة وعند اعادة استخدامها في اي مشروع اخر استدعيها في قائمة Uses ولا اريد اضافتها الى البرنامج من الخيار ADD لانها ستكون مفتوحة .

السؤال بطريقة اخرى اريد ان اضع بعض Classes في وحدة وارسلها لك لتستخدمها مثلا بدون ان تستيطع التعديل على الكود الخاص بي , كيف ذلك؟
قل إن صلاتي ونسكي ومحياي ومماتي لله رب العالمين
الرد
#4
(29-07-2022, 06:26 AM)ELARAPY كتب : هل هناك شئ غير المكتبة الديناميكية DLL ؟

نعم، تعريف الدوال التي تصدرها المكتبة DLL
يمكن ان تكون بالتوثيق ملف نصي، inc او حتى PAS
ولا غنى عن مثال بسيط لإستخدام المكتبة.

مثال:
https://delphi4arab.net/forum/showthread...987&page=1

V2m Music Player المكتبة MagicV2mEngine.dll والتعريف
كود :
procedure V2mPlayFile(FName:Pchar; AuRepeat:Bool); stdcall; external 'MagicV2mEngine.dll' name 'V2mPlayFile'; procedure V2mPlayStream(VData:Pchar; AuRepeat:Bool); stdcall; external 'MagicV2mEngine.dll' name 'V2mPlayStream'; procedure V2mPlayResource(hInst:Longint; ResName, ResType:Pchar; AuRepeat:Bool); stdcall; external 'MagicV2mEngine.dll' name 'V2mPlayResource'; procedure V2mStop; stdcall; external 'MagicV2mEngine.dll' name 'V2mStop'; procedure V2mSetAutoRepeat(AuRepeat:Bool); stdcall; external 'MagicV2mEngine.dll' name 'V2mSetAutoRepeat'; function V2mGetTime:Longint; stdcall; external 'MagicV2mEngine.dll' name 'V2mGetTime'; function V2mTotalTime:Longint; stdcall; external 'MagicV2mEngine.dll' name 'V2mTotalTime'; function V2mIsPlay:Bool; stdcall; external 'MagicV2mEngine.dll' name 'V2mIsPlay';


مثال اخر
https://delphi4arab.net/forum/showthread.php?tid=9514
مكتبة facesdk.dll والتعريف بالملف LuxandFaceSDK.pas

الدرس السابع: إنشاء الإضافات وبرمجة مكتبات الربط الديناميكية
https://delphi4arab.net/forum/showthread.php?tid=578
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
[-] كل من 2 users say قال شكرا ل محمد عبد العزيز على المشاركة المفيدة
  • أبو معاذ, ELARAPY
الرد
#5
هل تريد إستخدامها في دلفي فقط أم للإستخدام العام؟
سبحان الله وبحمده سبحان الله العظيم
[-] كل من 1 user says قال شكرا ل Agmcz على المشاركة المفيدة
  • ELARAPY
الرد
#6
(30-07-2022, 08:37 AM)محمد عبد العزيز كتب :
(29-07-2022, 06:26 AM)ELARAPY كتب : هل هناك شئ غير المكتبة الديناميكية DLL ؟

نعم، تعريف الدوال التي تصدرها المكتبة DLL
يمكن ان تكون بالتوثيق ملف نصي، inc او حتى PAS
ولا غنى عن مثال بسيط لإستخدام المكتبة.

مثال:
https://delphi4arab.net/forum/showthread...987&page=1

V2m Music Player المكتبة MagicV2mEngine.dll والتعريف

كود :
procedure V2mPlayFile(FName:Pchar; AuRepeat:Bool); stdcall; external 'MagicV2mEngine.dll' name 'V2mPlayFile'; procedure V2mPlayStream(VData:Pchar; AuRepeat:Bool); stdcall; external 'MagicV2mEngine.dll' name 'V2mPlayStream'; procedure V2mPlayResource(hInst:Longint; ResName, ResType:Pchar; AuRepeat:Bool); stdcall; external 'MagicV2mEngine.dll' name 'V2mPlayResource'; procedure V2mStop; stdcall; external 'MagicV2mEngine.dll' name 'V2mStop'; procedure V2mSetAutoRepeat(AuRepeat:Bool); stdcall; external 'MagicV2mEngine.dll' name 'V2mSetAutoRepeat'; function  V2mGetTime:Longint; stdcall; external 'MagicV2mEngine.dll' name 'V2mGetTime'; function  V2mTotalTime:Longint; stdcall; external 'MagicV2mEngine.dll' name 'V2mTotalTime'; function  V2mIsPlay:Bool; stdcall; external 'MagicV2mEngine.dll' name 'V2mIsPlay';


مثال اخر
https://delphi4arab.net/forum/showthread.php?tid=9514
مكتبة facesdk.dll والتعريف بالملف LuxandFaceSDK.pas


الدرس السابع: إنشاء الإضافات وبرمجة مكتبات الربط الديناميكية
https://delphi4arab.net/forum/showthread.php?tid=578

بارك الله فيك استاذ محمد, ان شاء الله تعالى سوف اراجع الامثلة في المساء.



(30-07-2022, 02:11 PM)Agmcz كتب : هل تريد إستخدامها في دلفي فقط أم للإستخدام العام؟

حالياً انا اتدرب على الدلفي فقط وقليل من C++ من اجل الالكترونيات, بما اني أدرس على ايديكم فلا حرج من الاستذادة,
اريد ان استخدمها في اي لغة اخرى.
قل إن صلاتي ونسكي ومحياي ومماتي لله رب العالمين
الرد
#7
إقتباس :الدلفي فقط وقليل من C++ من اجل الالكترونيات...اريد ان استخدمها في اي لغة اخرى.[/color]
اتفاقيات الاستدعاء Calling Conventions مع المناهج
https://delphi4arab.net/forum/showthread.php?tid=3574
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
[-] كل من 1 user says قال شكرا ل محمد عبد العزيز على المشاركة المفيدة
  • ELARAPY
الرد
#8
وعليكم السلام ورحمة الله

فقط حتى لا انشئ منشور جديد وليكن في مضمون هذا السؤال
والسؤال العارض الذي خطر ببالي هو :

بحال استخدم او تضمين مكتبة بملف الـ DLL مثل

كود :
Uses FireDac,DB

على سبيل المثال
هل يتم دمجها مع الملف التنفيذي وتصبح جزء منه و لا داعي لوجود ملفات مرفقة للمكونات هذه مثل (Dcu or Dpl or hpp or pas) مع المشروع ...؟
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
الرد
#9
(31-07-2022, 11:16 AM)Delphi4Us كتب : بحال استخدم او تضمين مكتبة بملف الـ DLL مثل
...هل يتم دمجها مع الملف التنفيذي وتصبح جزء منه و لا داعي لوجود ملفات مرفقة للمكونات ...

الDLL تكون غالبا بجانب الملف التنفيذي exe كملف

Project.exe
SomeDll.dll
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
[-] كل من 1 user says قال شكرا ل محمد عبد العزيز على المشاركة المفيدة
  • Delphi4Us
الرد
#10
إقتباس :الDLL تكون غالبا بجانب الملف التنفيذي exe كملف
Project.exe
SomeDll.dll


عذرا اخطاءت العبارة 
قصدت هل تصبح جزء من ملف الـ DLL وليس الملف التنفيدي ..؟

مثلا هل تصبح مكتبة الفايرداك مضمنة بملف الـ DLL ويمكن استخدم مكتبة فايرداك من خلال ملف الـ DLL دون الحاجة الى ملفات ومكتبات منها ...!
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 2 ) ضيف كريم