Cara membuat dll sumber daya lokal untuk aplikasi MFC

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 198846 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

RINGKASAN

Sumber daya dll adalah cara yang efisien untuk menggunakan sumber daya dalam berbagai bahasa. Aplikasi dapat menyediakan DLL tunggal yang telah diterjemahkan sumber daya melalui program penataan. Mengubah bahasa lain masalah sederhana menggunakan DLL benar.

Informasi di bawah ini membahas bagaimana membuat sumber lokal DLL dengan Visual C++ 5.0.

INFORMASI LEBIH LANJUT

Artikel ini menjelaskan metode yang mudah, umum untuk menghasilkan aplikasi dan sumber daya dll yang mampu mendukung beberapa bahasa. Dengan menggunakan metode ini, Anda memiliki semua sumber daya Anda dalam satu file RC, sehingga cukup mudah untuk Lihat apa yang Anda telah menerapkan sumber daya.

  1. Membuat aplikasi MFC AppWizard default (disebut MyApp dalam hal ini contoh), dan menentukan Inggris US untuk bahasa sumber daya. Menggunakan MFC perpustakaan sebagai DLL bersama.
  2. Masukkan default MFC AppWizard DLL sebagai (top-level proyek)ResourceDll dalam contoh ini), dan pilih MFC ekstensi DLL (menggunakan bersama MFC DLL) untuk jenis DLL. Karena file .lib tidak dibuat untuk DLL, proyek top-level menghindari linker masalah dalam berikutnya membangun executable.
  3. Menghapus dan menghapus file RC, berkas Resource.h, ResourceDll.rc2 file, dan RES direktori dari proyek ResourceDll.
  4. Dari Project menu, pilih Tambahkan ke proyek pop-up menu dan memilih File. Masukkan berkas MyApp.RC ke proyek ResourceDll.
  5. Untuk setiap bahasa tambahan yang MyApp akan diterjemahkan sumber daya untuk:

    1. Dari Bangun menu, klik Konfigurasi dan menambahkan baru Rilis dan Debug konfigurasi. Sebagai contoh, Tambah Rilis Peranciskonfigurasi dan menyalin pengaturannya dari ResourceDll - Win32 Peluncuran dan menambahkan Debug Perancis konfigurasi dan salinan yang pengaturan dari ResourceDll - Win32 Debug.
    2. Dalam Seting Proyek kotak dialog, memilih Beberapa konfigurasi, dalam The Pengaturan untuk combo-box. Memilih rilis dan debug proyek konfigurasi untuk bahasa tertentu di Pilih Proyek konfigurasi untuk memodifikasi kotak dialog. Dalam Sumber Daya tab, Tambahkan definisi preprocessor AFX_RESOURCE_DLL dan AFX_TARG_XXX, dimana XXX adalah specifier surat dalam bahasa. Untuk contoh, FRA untuk Perancis [Perancis, DEU untuk Jerman, dan ENU untuk bahasa Inggris (Amerika Serikat)].

      CATATAN: Definisi preprocessor adalah comma separated tanpa ruang antara definisi.
    3. Dalam Bahasa combo-box, pilih bahasa yang digunakan dalam sumber.

      CATATAN: Anda mungkin ingin nama Anda dll untuk membantu mengidentifikasi mereka. Misalnya Anda mungkin ingin menambahkan "d" nama akar untuk menandainya sebagai debug DLL, dan menggunakan ekstensi file spesifik-bahasa untuk dicatat lokal. Sadarilah bahwa Versi debug executable tidak akan bekerja dengan rilis Versi dll sumber daya.

      Ini dapat dilakukan dengan mengubah output menargetkan yang linker menggunakan untuk setiap membangun DLL.

      1. Pilih Link Halaman properti dari Seting Proyekkotak dialog.
      2. Di dalam Pengaturan untuk combo-box, sorot konfigurasi yang Anda ingin mengubah DLL output direktori.
      3. Pastikan Kategori diatur ke General dan menentukan nama direktori keluaran di kotak edit di bawah Nama File output.
      Sebagai contoh, untuk dll mengandung sumber daya lokal untuk Perancis, perubahan Debug/ResourceDLL.dll untuk French Debug / ResourceDLLd.FRA untuk konfigurasi Win32 Debug dan perubahan perubahan Release/ResourceDLL.dll untuk French Release / ResourceDLL.FRA untuk konfigurasi Win32 rilis.

      Untuk menggunakan dll ini, Anda harus menyalin yang diinginkan DLL ke dalam direktori yang sama yang MyApp.exe, atau direktori Windows yang tepat, dan mengubah nama untuk ResourceDll.dll atau ResourceDllD.dll. Misalnya:

      menyalin ResourceDll.FRA\windows\system\ResourceDll.dll

      Anda juga dapat menentukan direktori di mana file sumber daya, MyApp.res, akan dihasilkan untuk setiap DLL lokal.

      1. Pilih Sumber Daya Halaman properti dari Project pengaturan kotak dialog.
      2. Di dalam Pengaturan untuk combo-box, sorot konfigurasi yang Anda ingin mengubah sumber daya output direktori.
      3. Pastikan Kategori diatur ke General dan menentukan direktori tempat file output untuk sumber daya yang akan dihasilkan di kotak edit di bawah Nama file sumber daya.
  6. Dari Project menu, pilih Tataan dan sorot ResourceDLL proyek. Memilih Semua konfigurasi dari Tataan Untuk combo box. Klik C/C ++ tab diikuti dengan PreprocessorKategori. Tambahkan jalan untuk proyek MyApp di Tambahan termasuk direktori lapangan.
  7. Dari Project menu, pilih Tataan dan sorot MyAppproyek. Memilih Semua konfigurasi dari Pengaturan untukcombo box. Klik Sumber Daya tab, dan dalam Preprocessor definisi lapangan, tambahkan AFX_RESOURCE_DLL. Definisi ini menghilangkan semua sumber daya dari MyApp.exe.
  8. Dalam kerja ResourceView, membuka setiap folder dan, dengan CTRL kunci ditekan, pilih semua sumber daya dalam proyek MyApp. Sebagai contoh, pilihan Anda harus menyertakan IDR_MAINFRAME untuk pedal gas dan IDD_ABOUTBOX untuk Dialog.

    Untuk masing-masing konfigurasi ResourceDLL, pada Masukkan menu, Klik Sumber daya salinan, menetapkan bahasa ke bahasa yang sesuai, lalu tekan Oke. Anda seharusnya sudah memiliki satu set lengkap sumber daya antera bahasa. Sumber daya, bagaimanapun, harus diterjemahkan.

    (Jika bahasa yang Anda inginkan untuk menciptakan sumber daya lokal tidak di Daftar bahasa, pilih bahasa lain dan secara manual mengedit teks dari berkas sumber daya. Setelah Anda telah membuat perubahan yang sesuai, kurung sebelah sumber akan mengatakan "Tidak diketahui bahasa" dan menunjukkan bahasa dan hukum sub-bahasa pengidentifikasi.)

    CATATAN: Anda juga dapat menyalin sumber daya yang sudah ada ke file sumber daya di Saat ini. Misalnya, membuat AppWizard MFC terpisah proyek aplikasi yang menggunakan bahasa Perancis sumber daya dengan menggunakan pilihan yang sama yang digunakan untuk membuat MyApp awal proyek. Setelah membuat aplikasi ini, menutup ruang kerja yang dan membuka MyApp proyek kerja dan pilih ResourceView. Kemudian, pada Berkas menu, klik Terbuka, dan membuka file RC aplikasi Perancis. Sekarang drag/drop semua sumber daya dari Perancis aplikasi ke aplikasi MyApp. Sumber daya yang sudah di Perancis dan perlu tidak ada terjemahan.
  9. Menambahkan variabel anggota HINSTANCE untuk aplikasi CWinApp berasal kelas. Ini akan terus menangani contoh DLL. Misalnya:
       HINSTANCE m_hInstResDLL;
    						


    Dalam definisi CWinApp::InitInstance untuk proyek Anda, menambahkan tiga baris di atas fungsi berikut:

    #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 );
    						


    CATATAN: Hal ini tidak diperlukan untuk memanggil AfxSetResourceHandle() ini titik.
  10. Tambahkan fungsi anggota CMyApp::ExitInstance() yang menggunakan kelas Wizard. Menambahkan kode membebaskan perpustakaan sebelum keluar aplikasi. Memodifikasi fungsi sebagai berikut:

    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. Aplikasi ini siap untuk membangun. Menggunakan kotak dialog Batch membangun, Pilih target yang diinginkan. Ingat bahwa Anda harus menyalin DLL yang sesuai ke lokasi yang cocok dan mengubah nama itu.

REFERENSI

Tek Catatan 56 (TN056) menjelaskan penggunaan lokal MFC sumber daya (MFC40LOC.DLL).

Tek Catatan 57 (TN057) menjelaskan beberapa desain dan prosedur Anda dapat digunakan untuk melokalisasi komponen Anda, baik itu aplikasi atau OLE kontrol, atau DLL yang menggunakan MFC.

Tek Catatan 23 (TN023) menjelaskan sumber daya standar yang disediakan dengan dan dibutuhkan oleh MFC perpustakaan.

Untuk informasi tambahan tentang Microsoft Foundation Classes disertakan dengan Visual C++ versi 2.2 dan sebelumnya, silakan lihat artikel berikut pada Basis Pengetahuan Microsoft:
147149 "Bagaimana untuk melokalisasi sumber daya dengan Yayasan kelas"


(c) Microsoft Corporation 1999, Semua Hak Dilindungi Undang-Undang. Kontribusi oleh Isaac Varon, Microsoft Corporation.

Properti

ID Artikel: 198846 - Kajian Terakhir: 19 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Visual C++ 5.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
Kata kunci: 
kbhowto kbintl kbintldev kbmt KB198846 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:198846
Sanggahan Konten KB yang Tidak Lagi Diperbarui
Artikel ini berisi tentang produk yang tidak lagi didukung oleh Microsoft. Oleh karena itu, artikel ini disajikan ?sebagaimana adanya? dan tidak akan diperbarui.

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com