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


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

(31-07-2022, 03:09 PM)Delphi4Us كتب :
إقتباس :الDLL تكون غالبا بجانب الملف التنفيذي exe كملف
Project.exe
SomeDll.dll


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

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

نعم  مثل الملف التنفيذي


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

السلام عليكم
لمحلولة إثراء الموضوع أكثر أخي ELARAPY

- يمكنك إستخدام ملفات DCU التي ينتجها دلفي بدل DLL
- يمكنك إستخدام ملفات OBJ التي ينتجها دلفي بدل DLL

- يمكن أيضا تحويل ملفات DLL إلى LIB وإستخراج OBJ
هنا الأمر يتطلب بعض الأدوات و التعديلات اليدوية و فهم لبنية PE

-  أيضا يمكن إستخدام OP Codes
كود :
const arrsum: array[0..5] of byte = ($03, $D0, $8B, $C2, $C3, $00); var   sum_: function(i, i2: Integer): Integer; (* function sum(i, i2: Integer): Integer; begin   Result := i + i2; end; *) procedure TForm1.Button1Click(Sender: TObject); begin   sum_ := @arrsum;   ShowMessage(IntToStr(sum_(5, 5))); end;



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

(31-07-2022, 03:09 PM)Delphi4Us كتب : مثلا هل تصبح مكتبة الفايرداك مضمنة بملف الـ DLL ويمكن استخدم مكتبة فايرداك من خلال ملف الـ DLL دون الحاجة الى ملفات ومكتبات منها ...!
نعم ولا
الDLL تحتوى على الأوامر التي كتبتها/برمجتها فإن كنت تستدعي شيئ اخر يجب ان يكون موجود
مثلا الاتصال بقاعدة بيانات بODBC هنا يجب ان يكون Driver الخاص بها مثبت بالنظام (ملفات وDLL اخرى...)



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

(31-07-2022, 04:57 PM)Agmcz كتب : - يمكن أيضا تحويل ملفات DLL إلى LIB وإستخراج OBJ
هنا الأمر يتطلب بعض الأدوات و التعديلات اليدوية و فهم لبنية PE
هذا يتطلب معرفة مهارات خارجة عن نطاق البرمجة...
يمكن تحويل exe الى DLL واستغلاله كمتبة
يمكن تضمين اي DLL مع الملف التنفيذي exe
يمكن...



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

(01-08-2022, 06:31 AM)محمد عبد العزيز كتب : هذا يتطلب معرفة مهارات خارجة عن نطاق البرمجة...
يمكن تحويل exe الى DLL واستغلاله كمتبة
يمكن تضمين اي DLL مع الملف التنفيذي exe
يمكن...
نعم أخي محمد الأمر يتطلب مهارات في الهندسة العكسية والتحليل
لقد كانت لي تجربة سابقا في تحويل dll أذكر وقتها أني لوهلة كدت أفشل
بعدها قام بمساعدتي أحد أحد أعضاء tuts4you
من بعدها قمت بتحويل dll أخر بنجاح
الامر يختلف من مكتبة لأخرى عموما الأمر ليس سهل لمبتدأ.


RE: كيف يتم انشاء مكتبتي الخاصة ونشرها للاستخدام - I3CT - 01-08-2022

إقتباس :بعدها قام بمساعدتي أحد أحد أعضاء tuts4you
السلام عليكم و رحمة الله

اظنني اتذكر ذلك...
كان الأمر يخص مكتبة BASSMOD
PHP كود :
https://forum.tuts4you.com/topic/22731-bassmod-as-lib/page/2/ 

PHP كود :
https://lifeinhex.com/static-linking-of-bassmod-in-delphi/ 

PHP كود :
https://lifeinhex.com/linking-omf-object-files-with-delphi/ 



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

أهلا أخي STRELiTZIA إن شاء الله تكون بألف خير والله لك وحشه
لقد إبعتدت عن الهندسة العكسية والبرمجة على الوينداوز واصبحت فقط نشاهد.

نعم الأمر كان يخص Bassmod و َAT4RE Patcher وقتها
أعتقد أخي أنك تقوم بعمل هندسة عكسية لي  Big Grin (أنا أمزح)


RE: كيف يتم انشاء مكتبتي الخاصة ونشرها للاستخدام - I3CT - 02-08-2022

(02-08-2022, 12:51 AM)Agmcz كتب : أهلا أخي STRELiTZIA إن شاء الله تكون بألف خير والله لك وحشه
اهلا اخي الحبيب...
لكم وحشة ايضا و يسعدني في كل مرة ان ارى مشاركاتكم، هنا و هناك...

(02-08-2022, 12:51 AM)Agmcz كتب : لقد إبعتدت عن الهندسة العكسية والبرمجة على الوينداوز
صحيح...
مع الغليان الذي يعرفه عالم البرمجيات لم يعد نظام Windows يأخذ منا نفس حدة الاهتمام على عكس الأنظمة  المسماة "الذكية" و ثقافة العملاء الجديدة connect from anywhere
و الهندسة العكسية اصبحت هي ايضا اكثر تشعبا... و بالنسبة لي "اصبحت استمتع اكثر بهذا التشعب" لانه اكثر Challenge

(02-08-2022, 12:51 AM)Agmcz كتب : أعتقد أخي أنك تقوم بعمل هندسة عكسية لي  Big Grin (أنا أمزح)
ربما العادة و التعود على محاولة تحليل كل "شئ" او "حي" Smile

و بخصوص الموضوع الأصلي و لكي لا اتسبب في تغيير مجراه الى Off-topic...

اعتماد فكرة مكتبة دايناميكية dll لتوزيع و نشر خوارزميات معالجة هي احسن طريقة:
- التحديث السهل (bug fixes, improvements) لمن يستعملها دون الحاجة لاعادة بناء في كل مرة الملف التنفيذي الرئيسي الذي يستعملها...
- المكتبة يمكن استعمالها (استدعائها) في اي لغة برمجة اخرى سواء "Compiled/Interpreted" على عكسي dcu و مشكلة تضارب اختلاف اصدارات دلفي في ذاته...

و نرى ذلك (اعتماد المكتبات) في لغات البرمجة (و منها دلفي الاصدارات الحديثة) لدعم انظمة اخرى (macOS, iOS, android) دعم بشكل غير مباشر...
 لانها تعتمد في عملها على بناء مكتبات (so, dyld) تحمل في النظام المستهدف...


RE: كيف يتم انشاء مكتبتي الخاصة ونشرها للاستخدام - Ndagor - 02-08-2022

هناك ايضا مكتبات com ActiveX  Ole تتيح خيارات جيدة تعمل حتى مع سكريبت


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

(02-08-2022, 12:51 AM)Agmcz كتب : أهلا أخي STRELiTZIA إن شاء الله تكون بألف خير والله لك وحشه

STRELiTZIA ملك الدلفي ومشرفنا القدير، بارك الله فيكم،، بحثت كثيرا عن هذا الاسم ظنا اني سأجد مشاركات في مواقع اخري بهذا الاسم لم اتوصل الا لموضوع في منتدى أجنبي كان هناك شخص يسأل عن إمكانية دلفي في كتابة الدرايفر وكان هناك رد من عضو اخر يخبر فيه عن مشروع درايفر بالدلفي لمبرمج عربي اسمه (STRELiTZIA ) اين انت يا استاذ؟ ولما تخليت عن هذا الاسم العلم؟