برنامجي مثبت في الجهاز واريد تحديث البرنامج حيث قمت باضافة فورم جديد
Class1 ولضفت ايضا
ووحدة نمطية
المطلبوب كيف اعمل تحديث للبرنامج
فلا اريد عمل له تركيب مرة اخري
هل يمكن فعل ذلك؟
وللجميع تحياتي
برنامجي مثبت في الجهاز واريد تحديث البرنامج حيث قمت باضافة فورم جديد
Class1 ولضفت ايضا
ووحدة نمطية
المطلبوب كيف اعمل تحديث للبرنامج
فلا اريد عمل له تركيب مرة اخري
هل يمكن فعل ذلك؟
وللجميع تحياتي
اممم.. يمكنك الاعتماد على موضوع استخدام باتش.
البرامج التي تقوم بتشكيل ملف باتش تقوم بالمقارنة بين ملفين.
وتحفظ الفروقات في ملف ثالث يقوم بالتعديل على الملف القديم ليصبح كالجديد.
مثل dUP
Do as I say, not as I do
We are Anonymous. We are Legion. We don't forgive. We don't forget
هناك إضافة بسيطة أريد نصحك بها، عندما تقوم بكتابة برنامج يحوي على أجزاء غير أساسية من صلب البرنامج، ضعها في ملف DLL وقم بطلب وظائف معينة من ذلك الملف، يكون أسهل التعديل فيه أو إرسال نسخة بديلة منه مثلاً.
Do as I say, not as I do
We are Anonymous. We are Legion. We don't forgive. We don't forget
أخي الكريم Xacker لم أفهم شيء من الموقع
والطريقة التي تفضلت بعرضها لم أفهما جيداً أرجو أن توضح قليلاً
جزاك الله خيراً

أخي Comfort:
قم بتحميل البرنامج dUP
http://diablo2oo2.di.funpic.de/downloads/dup2.rar
لنفرض أن لدي برنامج1 فيه التعليمات التالية:
.386 .model flat,stdcall option casemap:none include \masm32\include\windows.inc include \masm32\include\kernel32.inc include \masm32\include\user32.inc includelib \masm32\lib\kernel32.lib includelib \masm32\lib\user32.lib .data msg1 db "Hello World!",0 caption db "ArabTeam",0 .code start: invoke MessageBox,NULL,addr msg1,addr caption,MB_OK invoke ExitProcess,NULL end start
والبرنامج2 فيه التعديلات البسيطة التالية:
.386 .model flat,stdcall option casemap:none include \masm32\include\windows.inc include \masm32\include\kernel32.inc include \masm32\include\user32.inc includelib \masm32\lib\kernel32.lib includelib \masm32\lib\user32.lib .data msg2 db "Hello Boy!",0 caption db "ArabTeam",0 .code start: invoke MessageBox,NULL,addr msg2,addr caption,MB_OK invoke ExitProcess,NULL end start
لاحظ الاختلاف بسيط ولا يذكر، هو فقط كمثال ولا يمثل الواقع بحال من الأحوال (برنامج الاسمبلي انشره بدون باتش أكيد هيكون أصغر من الباتش نفسه :lol:)
فعلياً ما سيختلف هو فقط بعض البايتات ضمن الرسالة ولا شئ آخر. حتى عناوين توضع القيم كلها في الذاكرة ستكون نفسها.
طيب البرنامج الأول خطأ ولم تكن تلك الرسالة التي من المفترض عرضها وإنما الرسالة في البرنامج الثاني.
هل تقوم بإرسال نسخة جديدة من البرنامج بكامله إلى المستثمر؟ (نحن نتكلم عن برامج بأحجام كبيرة)
سأقوم باستخدام برنامج dUP الآن بالشكل التالي:
بعد الانتهاء من كل هذا نقوم بتشكيل الباتش في النافذة الرئيسية من خلال زر Create Patch.
موضوع ذو صلة بشكل أو بآخر:
dUP له استخدامات عديدة كثيرة. سهل الاستخدام.
هناك طرق أخرى لتلافي هذه المشكلة كما تفعل بقية الشركات من خلال جعل برنامجك يقوم بتفحص وجود إصدار جديد تم نشره مثلا عبر الانترنت لو كان لمنتجك مساحة ما تقوم بعرضه فيها، حيث يتم جلب التحديثات ويتم دمجها أو تعديل الملفات الأساسية بطرق عديدة.
تم تعديل هذه المشاركة بواسطة Xacker في 29 أغسطس 2008 في 20:01
Do as I say, not as I do
We are Anonymous. We are Legion. We don't forgive. We don't forget
جزاك الله خيراً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…