المشاركات : 367
المواضيع 54
:
: 506
الإنتساب : Jan 2011
السلام عليكم ورحمة الله وبركاته
كيف يتم انشاء مكتبتي الخاصة ونشرها للاستخدام فقط دون ان يظهر الكود الخاص بي لمستخدم المكتبة ؟ فهل هناك شئ غير المكتبة الديناميكية DLL ؟
كل ما في الامر اريد الاستفادة من مفهوم التغليف .
قل إن صلاتي ونسكي ومحياي ومماتي لله رب العالمين
المشاركات : 654
المواضيع 34
:
: 106
الإنتساب : Aug 2010
وعليكم السلام
لا أعرف ما يدور في رأسك و الغرض من السؤل لأنه يبدوا غريبا نوعا ما؟
أين ستستخدم هذه المكتبة؟
ما الذي ستحتويه؟
سبحان الله وبحمده سبحان الله العظيم
كل من 1 user says قال شكرا ل Agmcz على المشاركة المفيدة1 user says Thank You to Agmcz for this post
• ELARAPY
المشاركات : 367
المواضيع 54
:
: 506
الإنتساب : Jan 2011
السلام عليكم ورحمة الله
اسف اخي لعدم طرحي للسؤال بشكل واضح , الامر بسيط.
كل ما في الامر اني اريد ان احتفظ ببعض الاكواد في وحدة خاصة وعند اعادة استخدامها في اي مشروع اخر استدعيها في قائمة Uses ولا اريد اضافتها الى البرنامج من الخيار ADD لانها ستكون مفتوحة .
السؤال بطريقة اخرى اريد ان اضع بعض Classes في وحدة وارسلها لك لتستخدمها مثلا بدون ان تستيطع التعديل على الكود الخاص بي , كيف ذلك؟
قل إن صلاتي ونسكي ومحياي ومماتي لله رب العالمين
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
(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
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
المشاركات : 654
المواضيع 34
:
: 106
الإنتساب : Aug 2010
هل تريد إستخدامها في دلفي فقط أم للإستخدام العام؟
سبحان الله وبحمده سبحان الله العظيم
كل من 1 user says قال شكرا ل Agmcz على المشاركة المفيدة1 user says Thank You to Agmcz for this post
• ELARAPY
المشاركات : 367
المواضيع 54
:
: 506
الإنتساب : Jan 2011
(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++ من اجل الالكترونيات, بما اني أدرس على ايديكم فلا حرج من الاستذادة,
اريد ان استخدمها في اي لغة اخرى.
قل إن صلاتي ونسكي ومحياي ومماتي لله رب العالمين
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
إقتباس :الدلفي فقط وقليل من C++ من اجل الالكترونيات...اريد ان استخدمها في اي لغة اخرى.[/color]
اتفاقيات الاستدعاء Calling Conventions مع المناهج
https://delphi4arab.net/forum/showthread.php?tid=3574
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
المشاركات : 1,677
المواضيع 349
:
: 1,069
الإنتساب : Nov 2013
وعليكم السلام ورحمة الله
فقط حتى لا انشئ منشور جديد وليكن في مضمون هذا السؤال
والسؤال العارض الذي خطر ببالي هو :
بحال استخدم او تضمين مكتبة بملف الـ DLL مثل
على سبيل المثال
هل يتم دمجها مع الملف التنفيذي وتصبح جزء منه و لا داعي لوجود ملفات مرفقة للمكونات هذه مثل (Dcu or Dpl or hpp or pas) مع المشروع ...؟
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
(31-07-2022, 11:16 AM)Delphi4Us كتب : بحال استخدم او تضمين مكتبة بملف الـ DLL مثل
...هل يتم دمجها مع الملف التنفيذي وتصبح جزء منه و لا داعي لوجود ملفات مرفقة للمكونات ...
الDLL تكون غالبا بجانب الملف التنفيذي exe كملف
Project.exe
SomeDll.dll
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
المشاركات : 1,677
المواضيع 349
:
: 1,069
الإنتساب : Nov 2013
إقتباس :الDLL تكون غالبا بجانب الملف التنفيذي exe كملف
Project.exe
SomeDll.dll
عذرا اخطاءت العبارة
قصدت هل تصبح جزء من ملف الـ DLL وليس الملف التنفيدي ..؟
مثلا هل تصبح مكتبة الفايرداك مضمنة بملف الـ DLL ويمكن استخدم مكتبة فايرداك من خلال ملف الـ DLL دون الحاجة الى ملفات ومكتبات منها ...!
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم