الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تضمين الdll داخل ال exe سؤال

مغلق
بدأه essam7 في 14 ديسمبر 2005 · 4 رد · 644 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

مرحبا شباب

مرة وجدت بموقع delphi.about.com طريقة لتضمين ملف dll وكان هو ملف gina المشهور داخل الاexe حتى لا نعمل سيت اب للبرنامج يعني يكون ال exe بمثابة السيتاب لما تشغله مباشرة ينسخ الملف ال dll الى السيستم ويعمل الexe عمله الطبيعي

صار لي اكثر من ساعة في الموقع ووالله ما وجدت شيئ

اعرف طريقة التضمين لكن كيف انسخه من داخل ال exe الى مسار محدد عند تشغيله اي الكرييت؟؟؟

لم انزل الموضوع والله الا بعد ان يئست ليس من about.delphi وانما من جوجل ايضا

يا ريت اجد جواب عندكم

#2

السلام عليكم

مرحباً بأخي essam7

ارجو أن أكون فهمتك صح

جرب الطريقة الآتية:

بعد عمل ملف الريسورس res. لـ ملف الـ DLL ، إذا كنت لا تعرف كيف فهذه الطريقة:

مثلاً افتح ملف تكست عادي واكتب فيه الآتي

myres restype c:\dllfile.dll

myres هو اسم الريسورس و restype هو نوع الريسورس تستيطع أن تكتب أي شيء تريد ( حسب تجربتي ) .... إذا كان أحد الإخوة عنده معلومة هنا يستطيع أن يفيدنا بها أرجو أن لا يبخل علينا بها..

و C:\dllfile.dll هو مسار الـ DLL المراد تحويله إلى ملف ريسورس.

ثم غير امتداد الملف إلى rc وليكن myfile.rc ثم ضعه في الـ C مثلاً ثم افتح الدوس واكتب:

brcc32 c:\myfile.rc

سينتج ملف بنفس الإسم ولكن بامتداد res

خذ هذا الملف وضعه في نفس المجلد الذي سيتولد فيه برنامجك ثم اكتب التالي:

{$ myfile.RES} // this line to include the resource in your program

implementation

procedure TForm1.Button1Click(sender: Tobject);
var
  Mydll: TResourceStream;
begin
  Mydll:= TresourceStream.Create(hinstance, 'myres', 'restype');

{ myres is your resource name, restype is the type of your resource, you can name it anything you want. }

  Mydll.SavetoFile('C:\Windows\myfile.dll');  (* this line will save the resource to the specific file   which is myfile.dll in the windows directory*)

  Mydll.Free;

end;

ملاحظة: استخدمت هذا الكود من قبل،و لكن لم أجربه الآن قد تكون هناك بعض الأخطاء البسيطة، ليس بإمكاني تجريب الكود الان لأني لست على جهازي الخاص.

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

تم تعديل هذه المشاركة بواسطة fafe0 في 14 ديسمبر 2005 في 11:00

#3

أشكرك اخي من كل قلبي

فرجت عني فرج الله عنك كل سوء

للعلم نسيت وضع الr بعد الدولار اي

{$ R myfile.RES} // this line to include the resource in your program

#4

ولا يهمك أخي essam7

لا شكر على واجب.

ملاحظة للمشرفين//: لماذا لا أستطيع تحرير مشاركتي الأولى ؟؟؟

تم تعديل هذه المشاركة بواسطة fafe0 في 14 ديسمبر 2005 في 22:42

#5
fafe0 كتب:
ملاحظة للمشرفين//:  لماذا لا أستطيع تحرير مشاركتي الأولى ؟؟؟

يمكنك تحرير مشاركتك خلال فترة زمنية محددة فقط

d4baa0.gif

هذا الموضوع مغلق.

مواضيع مشابهة