delphi شركة دلفي مضيفا{$ R*.res} في ملف.dpr




شركة delphi (6)

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

دلفي يضيف أحيانا {$ R * .res} أمام مسار الوحدة في ملف .dpr يستخدم عبارات، ثم أحصل على تحذير الموارد المكررة عند محاولة ترجمة.

أي شخص يعرف لماذا الجحيم دلفي يفعل ذلك؟ أنا أستخدم دلفي 2009 ولكن هذا يحدث منذ دلفي 2007 (ربما 2006 أيضا)


لقد اكتسبت بعض "الاستدلال" للتعامل مع حقيقة أن إيد العبث مع دبر:

  1. لا يوجد رمز "معقد" في بداية البداية-كتلة (أي الاشياء مع المتغيرات أو إفس :-)). كل شيء أنا بحاجة إلى القيام به هناك تبادلت إلى روتين منفصل. ويبدو أن هذا يجعل محلل إيد أكثر سعادة.
  2. إذا كنت بحاجة إلى إفدف $ في بند الاستخدامات أجعل "وحدة الوكيل" التي تحتوي على وحدات إفديفد $ ووضع ذلك في الفقرة استخدامات دير.

يضيف دلفي {$ R * .res} إلى ملف .dpr لربط ملف .res الذي ينشئه في التطبيق الخاص بك. على سبيل المثال، إذا قمت بحفظ مشروعك ك MyProject.dpr، ستقوم دلفي بإنشاء ملف MyProject.res يحتوي على رمز التطبيق ومعلومات الإصدار التي تحددها في خيارات بروجيكت في دلفي. بدون هذا الملف. ريس، لن يكون لديك .exe رمز أو معلومات الإصدار.

إذا تلقيت تحذير مكررة من المورد، فربما يكون لديك توجيه آخر ل {كوميلر {$ R} في مكان آخر في شفرتك ويربط أيضا في MyProject.res. يمكن أن يكون مكرر {$ R * .res} في ملف .dpr أو {$ R MyProject.res} في ملف آخر .pas. حذف التوجيه المجمع الجديد بدلا من واحد أن دلفي يولد تلقائيا، وسوف مشروعك تجميع على ما يرام.


قضية لماذا دلفي يضاف لك هذه "خطأ" {$ R} و {$ R * .res} النصوص مخفية في ملف دبروج. مجرد فتح ملف دبروج مع محرر نص والبحث عن $ R * .res وإزالة هذه العلامات:

<DCCReference Include="..\..\..\Core\IF.Common\uTranslation.Types.pas">
  <Form>$R *.res</Form>
</DCCReference>

تغيير ذلك إلى

<DCCReference Include="..\..\..\Core\IF.Common\uTranslation.Types.pas"/>

الآن لن تحصل على النص كربي في المشروع الخاص بك (حتى المرة القادمة إيد فشل إضافة مثل هذا الشيء إلى ملف دبروج.


ربما نشر .dpr الخاص بك من شأنه أن يساعد على توضيح مشكلتك. ملفات مشروعي تبدو مثل هذا وتعطيني أي مشكلة:

program Example;

{$R *.res}

uses
  Unit1 in 'Unit1.pas' {frmUnit1};

begin
  Application.Initialize;
  Application.CreateForm(TfrmUnit1, frmUnit1);
  Application.Run;
end.

ومن مزعج جدا، يحدث دون أي أسباب واضحة ولا يمكن منعها من الحدوث - بقدر ما أعرف :(





delphi