delphi4arab منتديات دلفي للعرب
كيف يتم انشاء مكتبتي الخاصة ونشرها للاستخدام - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : كيف يتم انشاء مكتبتي الخاصة ونشرها للاستخدام (/showthread.php?tid=12020)

الصفحات: 1 2 3


كيف يتم انشاء مكتبتي الخاصة ونشرها للاستخدام - ELARAPY - 29-07-2022

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

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

كل ما في الامر اريد الاستفادة من مفهوم التغليف .


RE: كيف يتم انشاء مكتبتي الخاصة ونشرها للاستخدام - Agmcz - 29-07-2022

وعليكم السلام
لا أعرف ما يدور في رأسك و الغرض من السؤل لأنه يبدوا غريبا نوعا ما؟
أين ستستخدم هذه المكتبة؟
ما الذي ستحتويه؟


RE: كيف يتم انشاء مكتبتي الخاصة ونشرها للاستخدام - ELARAPY - 29-07-2022

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

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

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

السؤال بطريقة اخرى اريد ان اضع بعض Classes في وحدة وارسلها لك لتستخدمها مثلا بدون ان تستيطع التعديل على الكود الخاص بي , كيف ذلك؟


RE: كيف يتم انشاء مكتبتي الخاصة ونشرها للاستخدام - محمد عبد العزيز - 30-07-2022

(29-07-2022, 06:26 AM)ELARAPY كتب : هل هناك شئ غير المكتبة الديناميكية DLL ؟

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

مثال:
https://delphi4arab.net/forum/showthread.php?tid=1987&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


RE: كيف يتم انشاء مكتبتي الخاصة ونشرها للاستخدام - Agmcz - 30-07-2022

هل تريد إستخدامها في دلفي فقط أم للإستخدام العام؟


RE: كيف يتم انشاء مكتبتي الخاصة ونشرها للاستخدام - ELARAPY - 30-07-2022

(30-07-2022, 08:37 AM)محمد عبد العزيز كتب :
(29-07-2022, 06:26 AM)ELARAPY كتب : هل هناك شئ غير المكتبة الديناميكية DLL ؟

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

مثال:
https://delphi4arab.net/forum/showthread.php?tid=1987&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++ من اجل الالكترونيات, بما اني أدرس على ايديكم فلا حرج من الاستذادة,
اريد ان استخدمها في اي لغة اخرى.


RE: كيف يتم انشاء مكتبتي الخاصة ونشرها للاستخدام - محمد عبد العزيز - 30-07-2022

إقتباس :الدلفي فقط وقليل من C++ من اجل الالكترونيات...اريد ان استخدمها في اي لغة اخرى.[/color]
اتفاقيات الاستدعاء Calling Conventions مع المناهج
https://delphi4arab.net/forum/showthread.php?tid=3574


RE: كيف يتم انشاء مكتبتي الخاصة ونشرها للاستخدام - Delphi4Us - 31-07-2022

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

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

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

كود :
Uses FireDac,DB

على سبيل المثال
هل يتم دمجها مع الملف التنفيذي وتصبح جزء منه و لا داعي لوجود ملفات مرفقة للمكونات هذه مثل (Dcu or Dpl or hpp or pas) مع المشروع ...؟


RE: كيف يتم انشاء مكتبتي الخاصة ونشرها للاستخدام - محمد عبد العزيز - 31-07-2022

(31-07-2022, 11:16 AM)Delphi4Us كتب : بحال استخدم او تضمين مكتبة بملف الـ DLL مثل
...هل يتم دمجها مع الملف التنفيذي وتصبح جزء منه و لا داعي لوجود ملفات مرفقة للمكونات ...

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

Project.exe
SomeDll.dll


RE: كيف يتم انشاء مكتبتي الخاصة ونشرها للاستخدام - Delphi4Us - 31-07-2022

إقتباس :الDLL تكون غالبا بجانب الملف التنفيذي exe كملف
Project.exe
SomeDll.dll


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

مثلا هل تصبح مكتبة الفايرداك مضمنة بملف الـ DLL ويمكن استخدم مكتبة فايرداك من خلال ملف الـ DLL دون الحاجة الى ملفات ومكتبات منها ...!