Yerelleştirilmiş kaynak dll dosyaları için MFC uygulaması oluşturma

Makale çevirileri Makale çevirileri
Makale numarası: 198846 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Özet

Kaynak DLL'ler kaynaklara, farklı dillerde kullanma verimli bir yöntem var. Uygulamalar, Kur programı aracılığıyla kaynaklara yerelleştirilmiş tek bir DLL sağlayabilirsiniz. Başka bir dile değiştirmek için doğru DLL'i kullanarak basit bir konular olur.

Aşağıdaki bilgiler, yerelleştirilmiş kaynak DLL'I Visual C++ 5.0 nasıl anlatılır.

Daha fazla bilgi

Bu makalede, bir uygulama ve <a1>kaynak</a1> birden çok dili destekleyen bir DLL üretmek için kolay ve daha genel bir yöntem açıklanır. Bu yöntemi kullanarak, kaynaklarınızın bir RC dosyasında, uyguladık hangi kaynakları görmek oldukça kolaylaştırır sahiptir.

  1. (Bu örnekte, Uygulamam olarak adlandırılır) bir varsayılan MFC AppWizard uygulama oluşturmak ve kaynakları dili İngilizce (ABD) belirtin. MFC kitaplık kullanımı gibi paylaşılan bir DLL.
  2. MFC AppWizard DLL varsayılan en üst düzey Proje (Bu örnekte ResourceDll) ekleyin ve DLL türünün MFC uzantısı DLL (kullanarak paylaşılan MFC DLL)'i seçin. DLL için .lib dosya oluşturulduğundan, üst düzey Proje, yürütülebilir dosyanın daha sonraki yapılar linker sorunlarını önler.
  3. Kaldırmak ve RC dosyayı Resource.h dosyanın ResourceDll.rc2 silmek ResourceDll projeden RES dizin ve dosya.
  4. Proje menüsünde Proje Ekle açılır menüsünü seçin ve dosyaları seçin. MyApp.RC dosya ResourceDll projeye ekleyin.
  5. Her dil için bu Uygulamam kaynaklar için yerelleştirilmiş:

    1. Yapı) menüsünde, yapılandırmalarını ' ı tıklatın ve sonra da yeni bir sürümü ve hata ayıklama Yapılandırması'nı ekleyin. Örneğin, bir Fransızca sürümü ekleme yapılandırma ResourceDll - Win32 Release ayarlarını kopyalama ve Fransızca Debug bir yapılandırma ekleyin ve ResourceDll - Win32 hata ayıklama ayarlarını kopyalama.
    2. Project ayarları iletişim kutusunda, ayarlar için birleşik giriş kutusu içinde Birden çok yapılandırmalarını,'ni seçin. Sürüm hem de belirli bir dil için hata ayıklama proje yapılandırmaları Project yapılandırmalarını değiştirme için Seç</a1> iletişim kutusunda seçin. Önişlemci tanımları AFX_RESOURCE_DLL ve AFX_TARG_XXX, XXX olduğu kaynak sekmesinde Ekle dil için bir harfi belirleyici. Örneğin, Fransızca [Fransa, DEU Almanca için ve <a1>TRK</a1> için ingilizce (ABD)] için FRA.

      Not: Önişlemci tanımları virgülle tanımları arasında boşluk var.
    3. Dil açılan-kutusunda, kaynak olarak kullanılan dili seçin.

      Not: Bunları belirlemenize yardımcı olması için DLL adlandırmak isteyebilirsiniz. Örneğin, "d" eklemek hata ayıklama DLL işaretlemesi ve dile özgü dosya uzantılarını yerel ayarı not kök adı isteyebilirsiniz. Yürütülebilir bir hata ayıklama sürümünü kaynak dll'ün bir yayım sürümünü çalışmayacağını unutmayın.

      Bu işlem için DLL dosyasının her bir yapı kullanan linker çıktı hedefi değiştirerek yapılabilir.

      1. Bağlantı özellik sayfası Proje ayarlarını seçin iletişim kutusu.
      2. Içinde DLL çıkış dizinini değiştirmek istediğiniz konfigürasyon ayarları açılan-kutusunda, vurgulayın.
      3. KategoriGenel için ayarlanmış olduğundan emin olun ve Çıktı dosyası adı altında <a1>Düzenle</a1> kutusunda, çıkış dizin adını belirtin.
      Fransızca için yerelleştirilmiş kaynakları içeren bir dll, örneğin Debug/ResourceDLL.dll için değiştirmek Fransızca Debug / ResourceDLLd.FRA Debug Win32 yapılandırma ve değiştirme için Release/ResourceDLL.dll değiştirme Fransızca sürümü / ResourceDLL.FRA Win32 Release yapılandırma.

      Bu DLL'i kullanmak için <a0></a0>, istenen DLL, uygulam.exe aynı dizinde veya uygun bir Windows dizini kopyalamak ve ResourceDll.dll veya ResourceDllD.dll yeniden adlandırmanız gerekir. Örneğin,:

      <a1>copy</a1> ResourceDll.FRA\windows\system\ResourceDll.dll

      Her yerelleştirilmiş bir DLL için MyApp.res, kaynak dosya oluşturulacak dizin de belirleyebilirsiniz.

      1. Kaynaklar özellik sayfası ayarları Project iletişim kutusundan seçin.
      2. Içinde kaynak çıkış dizinini değiştirmek istediğiniz konfigürasyon ayarları açılan-kutusunda, vurgulayın.
      3. KategoriGenel için ayarlanmış olduğundan emin olun ve burada çıkış dosyası kaynaklar için kaynak dosya adı altında <a1>Düzenle</a1> kutusunda üretilmeden önce bir dizin belirtin.
  6. Proje menüsünde Ayarlar ' ı seçin ve sonra da ResourceDLL projesini seçin. Gelen Tüm yapılandırmalar seçin ayarları için açılan kutu. Kendi preprocessor tarafından izlenen C/C++ sekmesini kategorisi. Uygulamam proje yolunu ek dizinler dahil et alanını ekleyin.
  7. Proje menüsünde, seçme ayarları ve <a1>Vurgu</a1> Uygulamam proje. Ayarları içinTüm yapılandırmalar seçin açılan kutu. Kaynaklar sekmesini tıklatın ve sonra da AFX_RESOURCE_DLLÖnişlemci tanımları</a0> alanına ekleyin. Bu tanım, kaynakların tümünü uygulam.exe ' kaldırır.
  8. ResourceView çalışma, her bir klasörü açın ve CTRL tuşunu basılı Uygulamam projede kaynakların tümünü seçin. Örneğin, seçimleriniz bir IDR_MAINFRAME Hızlandırıcı ve IDD_ABOUTBOX iletişim için içermelidir.

    Her ResourceDLL yapılandırmalarında Ekle menüsünde Kaynak Kopyala ' yı tıklatın, dili için uygun dili ayarlamak ve TAMAM'A basın. Şimdi tam bir Seti anther dil için kaynakların olması gerekir. Kaynakları, ancak çevrilmelidir.

    (Dil için yerelleştirilmiş kaynakları oluşturmak istediğiniz dilleri listesinde değilse, başka bir dil seçin ve el ile kaynak dosyasının metni düzenleyin. Gerekli değişiklikleri yaptıktan sonra kaynak yanındaki köşeli ayraçlar "Bilinmeyen dil" deyin ve dili ve sublanguage tanımlayıcıları gösterir.)

    Not: Şu anda kaynak dosyasına hazır kaynakları da kopyalayabilirsiniz. Örneğin, ayrı bir MFC AppWizard oluşturma Fransızca kaynaklarını kullanan uygulama proje başlangıç Uygulamam oluşturmak için kullanılan aynı seçenekleri kullanarak projesi. Bu uygulamayı oluşturduktan, çalışma alanı'nı kapatın ve Uygulamam proje çalışma alanı'nı açın ve ResourceView seçin. Sonra Dosya menüsünden ' ı tıklatın ve uygulamanın Fransızca RC dosyasını açın. Şimdi Sürükle/MyApp uygulamaya Fransızca uygulamadan kaynakların tümünü bırak. Bu kaynaklar önceden Fransızca ve hiçbir çeviri.
  9. Bir <a0>HINSTANCE</a0> üye değişkeni eklemek için uygulama CWinApp türetilmiş olan sınıf. Bu DLL örnek tanıtıcı tutacaktır. Örneğin,:
       HINSTANCE m_hInstResDLL;
    						


    Projeniz için CWinApp::InitInstance tanımı içinde işlevin üstünde aşağıdaki üç satır ekleyin:

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


    Not: Bu noktada, AfxSetResourceHandle() çağırmak gerekli değildir.
  10. Sınıf'ı kullanarak bir CMyApp::ExitInstance() üye işlev Ekleme Sihirbazı. Kitaplık uygulaması çıkar önce boşaltmayı kodu ekleyin. Işlevi aşağıdaki gibi değiştirin:

    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. Uygulama oluşturmaya hazırdır. Toplu oluştur iletişim kutusunu kullanarak istediğiniz hedefi seçin. Içine uygun olan DLL kopyalamalısınız anımsamak uygun bir konum ve yeniden adlandırın.

Referanslar

Teknik Not 56 (TN056) yerelleştirilmiş MFC kaynak (MFC40LOC.DLL) kullanımını açıklar.

Teknik Not 57 (TN057) bazı tasarımlar ve bileşeniniz, yerelleştirmeniz için kullanabileceğiniz yordamlar açıklar, bir uygulama ya da bir OLE denetimi veya MFC kullanan bir DLL olabilir.

Teknik Not 23 (TN023) ile birlikte sağlanan ve MFC kitaplık tarafından gerekli standart kaynakları açıklar.

Microsoft Foundation Sınıf Visual C++ sürüm 2.2 ile birlikte ve önceki sürümleri hakkında ek bilgi için lütfen Microsoft Knowledge Base'de aşağıdaki makaleye bakın:
147149 "Kaynakları ile Foundation Classes yerelleştirmeniz nasıl"


(c) Microsoft Corporation 1999, tüm hakları saklıdır. Katkıyı Isaac Varon, Microsoft Corporation.

Özellikler

Makale numarası: 198846 - Last Review: 1 Temmuz 2004 Perşembe - Gözden geçirme: 1.1
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Visual Studio 97 Service Pack 3
  • Microsoft Visual C++ 5.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
Anahtar Kelimeler: 
kbmt kbhowto kbintl kbintldev KB198846 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:198846
Kullanım Dışı Bilgi Bankası İçeriği Yasal Uyarı
Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sağlanmıştır ve bundan sonra güncelleştirilmeyecektir.

Geri Bildirim Ver

 

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