باستخدام الشروط في الوحدة الرئيسية للمشروع - يدمر IDE الكود

StackOverflow https://stackoverflow.com/questions/9333794

سؤال

إنني أقوم بإنشاء تطبيق خدمة Windows به تكوين لتجميعه كتطبيق Windows أساسي.يتضمن ملف المشروع الرئيسي لـ exe شروطًا تحدد ما إذا كان يتم تجميع المشروع كتطبيق خدمة أو كتطبيق نماذج windows.

المشكلة هي أنه عندما أفعل شيئًا يؤدي إلى تغيير رمز المشروع ، يتم إتلاف الرمز وتعطله.على سبيل المثال ، السطر الذي يقول رمز العلامة العامة يصبح رمزًا ترميزيًا عامًا ويتم قطع السطر الذي يحتوي على كود تعريف عام إلى رمز ترميز عام ، ويتم حذف معظم الحالات الشرطية الخاصة بي.

أتساءل عما إذا كانت هناك طريقة للتغلب على هذه المشكلة ، أو إذا كانت هناك حيل ، أو إذا كان علي الابتسام والتحمل؟

هذا هو الملف أدناه حيث أود أن يبقى ... Genacodicetagpre

هل كانت مفيدة؟

المحلول

كما يقول ديفيد ، أنت عالق مع IDE تعتقد أن dpr هو فناء خلفي خاص به.الحل الأسهل هو وضع كل شيء في وحدة منفصلة وإزالة الشروط من شرط الاستخدامات الخاص بـ dpr.سيكون FastMM مفيدًا في إصدار الخدمة وكذلك في تطبيق الاختبار الخاص بك على أي حال ويمكن التمييز بين vcl.forms و vcl.svcMgr في تلك الوحدة المنفصلة. سيتم تقليل

dpr إلى:

Genacodicetagpre

وستأخذ وحدة التطبيق الرئيسية باقي الشفرة من dpr:

Genacodicetagpre

نصائح أخرى

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

نعم ، IDE يفعل ذلك ودائمًا ما يفعل.لا توجد طريقة معروفة لمنعها من التصرف على هذا النحو.عليك فقط أن تمتص الأمر.

لدي شروط مشابهة والطريقة التي أتعامل بها هي استخدام نظام التحكم في المراجعة الخاص بي لمساعدتي ، في وقت الالتزام ، في التراجع عن التغييرات التي يقوم بها IDE.لذلك عندما أقوم بإيداع ملف .dpr ، أقوم بمراجعة الاختلافات وأعيد الاختلافات الوهمية.

أحاول أيضًا إضافة وحدات وإزالتها من المشروع عن طريق تحرير ملف .dpr بدلاً من ترك IDE يقوم بذلك.هذا يميل إلى تقليل معدل حدوث التعديلات الزائفة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top