كيفية إنشاء تطبيق MFC Dll المورد المترجمة

ملخص

Dll المورد وسيلة فعالة لاستخدام الموارد بلغات مختلفة. توفير تطبيقات DLL معين التي تم ترجمتها الموارد من خلال برنامج "الإعداد" الخاصة بهم. تغيير إلى لغة أخرى أمر بسيط لاستخدام DLL الصحيح.


المعلومات الواردة أدناه تتناول كيفية جعل مترجم مورد DLL باستخدام Visual c + + 5.0.

مزيد من المعلومات

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


  1. إنشاء تطبيق MFC AppWizard افتراضية (تسمى MyApp في هذا المثال)، وتحديد موارد اللغة الإنكليزية-الولايات المتحدة . استخدام مكتبة MFC ك DLL مشترك.
  2. إدراج افتراضي MFC AppWizard DLL كمشروع المستوى الأعلى (ريسورسيدل في هذا المثال)، وحدد MFC DLL ملحق (باستخدام DLL MFC مشتركة) نوع DLL. لأنه يتم إنشاء أي ملف.lib لل DLL، يتجنب مشروع المستوى الأعلى مشاكل الرابط في البنيات اللاحقة للتنفيذ.
  3. إزالة وحذف الملف RC الملف Resource.h، ResourceDll.rc2 الملف والدليل RES من مشروع ريسورسيدل.
  4. من القائمة المشروع ، حدد إضافة إلى مشروع القائمة المنبثقة واختر الملفات. إدراج ملف MyApp.RC في المشروع ريسورسيدل.
  5. لكل لغة إضافية MyApp سيتم ترجمة الموارد من أجل:


    1. من القائمة بناء ، انقر فوق تكوينات وإضافة تكوين الطرح والتصحيح جديد. على سبيل المثال، تكوين إصدار الفرنسية إضافة نسخ الإعدادات الخاصة به من ResourceDll-إصدار Win32 وإضافة تكوين تصحيح الفرنسية ونسخ الإعدادات الخاصة به من ResourceDll-يصحح Win32.
    2. في مربع الحوار " إعدادات المشروع "، اختر تكوينات متعددةفي مربع تحرير وسرد إعدادات . اختر كل الإصدار وتكوينات المشروع التصحيح لغة معينة في مربع الحوار تحديد تكوينات المشروع إلى تعديل . في علامة التبويب " الموارد "، أضف تعريفات ما قبل المعالجة AFX_RESOURCE_DLL و AFX_TARG_XXX، حيث XXX حرف محدد للغة. على سبيل المثال، تقييم موارد الغابات للفرنسية [فرنسا وألمانيا الألمانية والإنجليزية للإنجليزية (الولايات المتحدة الأمريكية)].

      ملاحظة: تعريفات ما قبل المعالجة فاصلة مع أية مسافات بين تعريفات.
    3. في مربع التحرير والسرد اللغة ، حدد اللغة المستخدمة في المورد.



      ملاحظة: قد تحتاج إلى اسم Dll الخاص بك للمساعدة في التعرف عليها. على سبيل المثال قد تحتاج إلى إضافة "دال" باسم الجذر لوضع علامة عليه كتصحيح DLL واستخدام ملحقات أسماء الملفات الخاصة باللغة ملاحظة الإعدادات المحلية. يجب أن تدرك أنه لن يعمل إصدار تصحيح الملف التنفيذي مع نسخة إصدار dll المورد.


      يمكن إجراء ذلك عن طريق تغيير سقف إنتاجها الرابط يستخدم لكل بناء ال DLL.



      1. حدد صفحة خاصية ارتباط من مربع الحوار إعدادات المشروع .
      2. في في إعدادات مربع التحرير والسرد-، تمييز التكوين الذي تريد تغيير دليل إخراج DLL.
      3. تأكد من تعيين فئة إلى عام وحدد اسم دليل الإخراج في مربع التحرير تحت اسم ملف الإخراج.
      على سبيل المثال، الخاصة ملف dll الذي يحتوي على الموارد المترجمة للفرنسية، تغيير Debug/ResourceDLL.dll إلى تصحيح الفرنسية/ResourceDLLd.FRA لتصحيح Win32 تغيير التكوين وتغيير Release/ResourceDLL.dll إلى الإصدار الفرنسي/ResourceDLL.FRA لتكوين الإصدار Win32.



      لاستخدام هذه DLLs، يجب نسخ DLL المطلوبة في نفس الدليل قيد MyApp.exe أو دليل Windows المناسب وإعادة تسميته إلى ResourceDll.dll أو ResourceDllD.dll. على سبيل المثال:


      نسخ ResourceDll.FRA\windows\system\ResourceDll.dll

      يمكنك أيضا تحديد الدليل حيث سيتم إنشاء ملف المورد، MyApp.res، لكل DLL المترجمة.


      1. حدد صفحة خصائص الموارد من مربع الحوار إعدادات المشروع .
      2. في في إعدادات مربع التحرير والسرد-، تمييز التكوين الذي تريد تغيير دليل الإخراج المورد.
      3. تأكد من تعيين فئة إلى عام وتحديد الدليل حيث سيتم إنشاء ملف الإخراج للموارد في مربع التحرير تحت اسم ملف المورد.
  6. من القائمة المشروع ، حدد إعدادات وإلقاء الضوء
    مشروع ريسورسيدل . اختر كافة التكوينات من إعدادات مربع التحرير والسرد. انقر فوق علامة التبويب C/c + + متبوعاً بهذه الفئة من قبل المعالج . إضافة مسار المشروع اسم التطبيق في حقل إضافية تتضمن الدلائل .
  7. من القائمة مشروع ، حدد إعدادات وتمييز المشروع اسم التطبيق . اختر كافة التكوينات من إعدادات مربع التحرير والسرد. انقر فوق علامة التبويب الموارد ، وفي الحقل تعريفات ما قبل المعالجة ، إضافة AFX_RESOURCE_DLL. إزالة كافة الموارد هذا التعريف من MyApp.exe.
  8. في مساحة عمل ResourceView، فتح كل مجلد، ومع الضغط على المفتاح CTRL، حدد كافة الموارد في المشروع اسم التطبيق. على سبيل المثال، ستتضمن التحديدات IDR_MAINFRAME للتسريع و IDD_ABOUTBOX لمربع الحوار.



    لكل التكوينات ريسورسيدل، من القائمة إدراج ، انقر فوق نسخ المواردوتعيين اللغة إلى اللغة المناسبة واضغط "موافق". يجب عليك الآن مجموعة كاملة من الموارد للغة أخرى. ومع ذلك، يجب أن يترجم الموارد.



    (إذا لم تكن اللغة التي تريد إنشاء الموارد المترجمة في قائمة اللغات، حدد لغة أخرى وتحرير نص ملف المورد يدوياً. بعد قمت بإجراء التغييرات المناسبة، الأقواس إلى جانب الموارد سيتم قل "لغة غير معروفة" وعرض معرفات اللغة ولغة فرعية.)



    ملاحظة: يمكنك أيضا نسخ الموارد الموجودة مسبقاً إلى ملف المورد في هذا الوقت. على سبيل المثال، إنشاء مشروع تطبيق MFC AppWizard منفصلة تستخدم موارد اللغة الفرنسية باستخدام نفس التحديدات الذي استخدمته لإنشاء المشروع MyApp الأولية. بعد إنشاء هذا التطبيق، إغلاق مساحة العمل الخاصة به وفتح مساحة عمل المشروع اسم التطبيق وتحديد ResourceView. من القائمة ملف ، انقر فوق فتح، ثم فتح ملف التطبيق الفرنسية RC. الآن السحب/الإفلات كافة الموارد من تطبيق الفرنسية في التطبيق MyApp. هذه الموارد بالفعل باللغة الفرنسية وعدم وجود ترجمة.
  9. إضافة متغير عضو HINSTANCE إلى فئة مشتقة CWinApp التطبيق. وسوف يعقد هذا مؤشر مثيل DLL. على سبيل المثال:

       HINSTANCE m_hInstResDLL;


    داخل تعريف CWinApp::InitInstance للمشروع، أضف الأسطر الثلاثة التالية أعلى الدالة:


    #ifdef _DEBUG   // Load the debug version of the localized resources.
    m_hInstResDLL = LoadLibrary("ResourceDlld.dll");
    #else
    // Load the release version of the localized resources.
    m_hInstResDLL = LoadLibrary("ResourceDll.dll");
    #endif
    ASSERT( m_hInstResDLL != NULL );



    ملاحظة: ليس من الضروري في هذه المرحلة باستدعاء AfxSetResourceHandle().
  10. إضافة دالة عضو CMyApp::ExitInstance() باستخدام "معالج فئة". إضافة تعليمات برمجية تحرير مكتبة قبل إنهاء التطبيق. تعديل الدالة كما يلي:



    int CMyApp::ExitInstance(){
    // In case you load multiple DLL's make sure to free them,
    // and avoid calling FreeLibrary with a NULL pointer.

    FreeLibrary(m_hInstResDLL);
    return CWinApp::ExitInstance();
    }



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

المراجع

وتصف المذكرة الفني 56 (TN056) استخدام موارد MFC المترجمة (MFC40LOC. DLL).

ملاحظة فنية 57 (TN057) يصف بعض النماذج وإجراءات يمكنك استخدامها لترجمة المكون الخاص بك، يمكن التحكم في تطبيق أو كائن OLE أو DLL يستخدم MFC.

وتصف المذكرة الفني 23 (TN023) موارد القياسية المتوفرة مع ومطلوبة من قبل مكتبة MFC.


لمزيد من المعلومات حول الفئات مؤسسة Microsoft المضمن في إصدارات Visual c + + 2.2 والإصدارات السابقة، الرجاء مراجعة المقالة التالية في "قاعدة المعارف ل Microsoft":
147149 "كيفية ترجمة الموارد مع أساس الفئات"


(ج) 1999 شركة مايكروسوفت، جميع الحقوق محفوظة. المساهمات المقدمة من إسحاق فارون، Microsoft Corporation.

خصائص

رقم الموضوع: 198846 - آخر مراجعة: 12‏/01‏/2017 - المراجعة: 1

تعليقات