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

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

اضغط هنا لرابط المقالة باللغة الانجليزية198846
تمت أرشفة هذه المقالة. وتظهر "كما هي" ولن يتم تحديثها بعد الآن.
الموجز
DLL المورد ما يعني فاعلية لاستخدام الموارد في لغات مختلفة. يمكن توفير تطبيقات DLL مفرد يحتوي على ترجمة المصادر من خلال برنامج "الإعداد" الخاصة بهم. تغيير إلى لغة أخرى أمر بسيط من استخدام DLL الصحيح.

توضح المعلومات أدناه كيفية جعل مورد مترجم DLL مع 5.0 Visual C++.
معلومات أخرى
توضح هذه المقالة أسلوب سهل العامة لإنشاء واجهة التطبيق "و" مورد DLL قادرة على دعم لغات متعددة. باستخدام هذه الطريقة، لديك كافة الموارد في ملف RC واحد لتسهيل كخصائص راجع ما هي الموارد قد يتم تنفيذ عملية.

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

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

      ملاحظة: تُعد التعريفات preprocessor مفصولة بدون مسافات بين تعريفات بفواصل.
    3. في التحرير والسرد- مربع اللغة ، حدد اللغة المستخدمة في المورد.

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

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

      1. حدد صفحة خاصية ارتباط من Project إعدادات مربع الحوار.
      2. في في إعدادات التحرير والسرد- المربع ، تمييز التكوين الذي تريد تغيير الدليل الإخراج DLL.
      3. تأكد من تعيين فئة إلى عام ثم حدد اسم الدليل الإخراج في مربع التحرير ضمن اسم ملف الإخراج.
      على سبيل المثال، بالنسبة يتضمن dll المترجمة الموارد عن الفرنسية, تغيير Debug/ResourceDLL.dll إلى Debug الفرنسية / ResourceDLLd.FRA Debug 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. حدد صفحة خصائص الموارد من مربع الحوار إعدادات Project.
      2. في في إعدادات التحرير والسرد- المربع ، تمييز التكوين الذي تريد تغيير الدليل الإخراج المورد.
      3. تأكد من تعيين فئة إلى عام ثم حدد الدليل حيث سيتم إنشاء ملف الإخراج الموارد في مربع التحرير تحت اسم ملف الموارد.
  6. من القائمة ' مشروع ' ، حدد إعدادات ثم تمييز المشروع ResourceDLL. اختر كافة التكوينات من إعدادات بالنسبة مربع التحرير والسرد. انقر فوق علامة التبويب C/C++ متبوعاً به Preprocessor الفئة. إضافة مسار المشروع اسم في حقل إضافية تتضمن الدلائل.
  7. من Project القائمة ، حدد إعدادات وشريط تمييز اسم المشروع. اختر كافة التكوينات من إعدادات عن مربع التحرير والسرد. انقر فوق علامة التبويب الموارد ثم في الحقل تعريفات Preprocessor بإضافة AFX_RESOURCE_DLL. إزالة تعريف هذا كافة الموارد من MyApp.exe.
  8. في مساحة العمل ResourceView فتح كل مجلد ثم مع الضغط على المفتاح CTRL, حدد كافة الموارد في المشروع اسم التطبيق. على سبيل المثال، يجب أن التحديدات يتضمن IDR_MAINFRAME مسرّع و IDD_ABOUTBOX للحصول على مربع الحوار "".

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

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

    ملاحظة: يمكنك أيضاً نسخ الموارد preexisting إلى ملف المورد في هذا الوقت. على سبيل المثال، إنشاء AppWizard MFC منفصلة المشروع التطبيق الذي يستخدم موارد اللغة الفرنسية باستخدام نفس التحديدات المستخدمة لإنشاء اسم الأولي المشروع. بعد إنشاء هذا التطبيق ، أغلق مساحة العمل به افتح مساحة عمل المشروع اسم وحدد ResourceView. ثم، من القائمة ملف، انقر فوق فتح ثم افتح ملف RC التطبيق الفرنسية. الآن السحب/الإفلات كافة الموارد من تطبيق الفرنسية في التطبيق اسم التطبيق. هذه الموارد الموجودة بالفعل في الفرنسية وتحتاج لا الترجمة.
  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.

للحصول على معلومات إضافية حول فئات Foundation Microsoft المُضمن في إصدارات Visual C++ 2.2 والإصدارات السابقة الرجاء مراجعة المقالة التالية في "قاعدة المعارف لـ Microsoft:
147149 "كيفية ترجمة للمهام التي لها فئات Foundation"


(c) 1999 شركة Microsoft ، كافة حقوق محجوز. المساهمات قبل Isaac Varon ، Microsoft Corporation.

تعريب التعريب

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 198846 - آخر مراجعة: 12/05/2015 10:18:44 - المراجعة: 1.1

Microsoft Visual Studio 97 Service Pack 3, Microsoft Visual C++ 5.0 Professional Edition, Microsoft Visual Basic 5.0 Enterprise Edition

  • kbnosurvey kbarchive kbmt kbhowto kbintl kbintldev KB198846 KbMtar
تعليقات