(04-05-17, 07:36 PM)silverlight كتب : الموضوع ده تحديدا صداع كبير جدا
لكن
اسهل طريقة هي انك تبني ملفات dll و تقوم بتحويل تلك الملفات الي مصفوفة Byte ثم تحفظها في ملف عادي علي هيئة مصفوفة او تحفظ المصفوفة في ملف داتابيز مثلا
هذا الملف سيكون جزءا من برنامجك الرئيسي
ثم وحين تحتاج ملف dll معين تقرأ المصفوفة الخاصة به من الملف
و تمررها الي Assembly.Load وهي تقبل متغيرا عبارة عن مصفوفة Byte
بمجرد ان تفعل هذا سيكون ملف dll اصبح في ذاكرة الكمبيوتر
ثم بعد ان يكون الملف في ذاكرة الكمبيوتر هنا تحتاح ان تستخدم Assembly GetType بأن تمرر اسم اي كلاس تريد استخدامه حتي تحصل عليه من ملف dll
ولتفعل ذلك بسهولة أنت تحتاج الي كوبري يربط برنامجك مع ملف dll
هذا الكوبري سيكون عبارة عن Interface بين ملف dll و بين برنامجك
فقط المشكلة الوحيدة التي سوف تقابلك لاحقا هي أن ملف dll سيكون موجودا في الذاكرة الخاصة بالكمبيوتر أثناء تشغيل برنامجك
وهنا ما يمكن أن تخشاه هو شحترف جدا جدا الذي ربما يستطيع ان يحصل علي االكود الخاص بملف dll من الذاكرة
و الحل للهروب من تلك المشكلة هو ان تقوم بعمل Unload لملف dll الخاص بك او إنك تعمل Encrypt للذاكرة او انك تقرا و تكتب في الذاكرة الخاصة بالكمبيوتر
للأسف ان كل ملف dll قد يختلف عن الاخر بسبب اختلاف البيانات الموجودة فيه و بالتالي سيكون عليك ان تنفذ الفكرة اعلاه لكل ملف لوحده
عموما أنا لم أتعمق كثيرا في دراسة Assembly لكي أستطيع أن أجد علاقة ثابتة أستطيع من خلالها ان ابني كلاس عام ينفع مع اي ملف dll
أنا عارف ان كلامي قد يبدو غامضا او قد يبدو غير واضح جدا لك
لكن كلامي هذا هو الوحيد الذي يجيب علي سؤالك خاصة ان كنت تريد أن تكتب كل شئ بنفسك
أخر شئ و اسمح لي أقوله و هو يعبر عن رأي خاص بي شخصيا
المبرمجين خارج حدودنا العربية ب يتحدوا مع بعض لإيجاد حلول للمشاكل خاصة و ان كل مبرمج يكون قوي في جزئية معينة
لكن احنا العرب اتعودنا ان كل واحد بيقول نفسي ثم نفسي و بس
الله يبارك فيك اخي الكريم على كلامك ##احنا العرب اتعودنا ان كل واحد بيقول نفسي ثم نفسي و بس## كلام منطقي وفي الصميم ومعك الف مليار حق
واذ اكملنا بهذه الطريقة لن نذهب بعيدا سنبقى دائما في المراكز السفلى اي لن نتسيد اي شيء حتى في ابسط الاشياء
الله يجازيك بالف خير

