Gelokaliseerde bron-dll's voor MFC-toepassing maken

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 198846 - Bekijk de producten waarop dit artikel van toepassing is.
Alles uitklappen | Alles samenvouwen

Samenvatting

Bron-dll's zijn een efficiënte manier voor het gebruik van bronnen in verschillende talen. Toepassingen kunnen leveren een gelokaliseerde één dll-bestand bronnen via het programma setup. Wijzigen in een andere taal is een eenvoudige kwestie zijn van het gebruik van het juiste DLL-bestand.

Hieronder wordt beschreven hoe u een gelokaliseerde bron-DLL met Visual C++ 5. 0.

Meer informatie

Dit artikel beschrijft een eenvoudige, algemene methode genereren van een toepassing en bron-dll's ondersteunen meerdere talen. Met deze methode, hebt u alle resources in één bestand RC, waardoor het vrij makkelijk te kijken welke bronnen u hebt geïmplementeerd.

  1. Maak een standaard AppWizard MFC-toepassing (de zogenaamdeMijntoepin dit in het volgende voorbeeld), enEngels (VS)voor de taal bronnen. MFC-bibliotheek gebruikenAls een gedeelde dll-bestand.
  2. Als een project op het hoogste niveau (standaard MFC AppWizard dll-bestand invoegenResourceDllin dit voorbeeld) en selecteerMFC uitbreidings-DLL (met behulp van gedeelde MFC-DLL)voor het type DLL-bestand. Omdat geen lib-bestand dat is gemaakt voor het dll-bestand, vermijdt u koppelings problemen in een project op het hoogste niveau latere versies van het uitvoerbare bestand.
  3. Verwijderen en verwijder de RC bestand, het bestand Resource.h, de ResourceDll.rc2 bestand en de map RES uit het ResourceDll project.
  4. Uit deProjectselecteert u deToevoegen aan Projectpop-upmenu en KiesBestanden. Plaats het bestand MyApp.RC in het ResourceDll project.
  5. Voor elke extra taal zal dat Mijntoep hebt gelokaliseerd bronnen voor:

    1. Uit deBuildmenu, klikt u opConfiguratiesen een nieuwe toevoegen Configuratie release en fout opsporing. Toevoegen, bijvoorbeeld eenFranse versieconfiguratie en de instellingen kopiërenResourceDll - Win32 Releaseen voeg eenFouten opsporen in Fransconfiguratie en een afschrift ervan instellingen vanResourceDll - Win32-fout opsporing.
    2. In deProjectinstellingendialoog venster KiesMeerdere configuraties, in hetInstellingen voorkeuze. Kies de versie en de fout opsporing project configuraties voor een bepaalde taal in deSelecteer Project configuraties wijzigenhet dialoog venster. In deBronnentabblad de preprocessor definities, AFX_RESOURCE_DLL en AFX_TARG_XXX, toevoegen waarbij XXX staat voor de specificatie van een aanduiding voor de taal. Voor bijvoorbeeld: FRA voor Frans [Frankrijk, DEU voor Duits en ENU voor Engels (VS)].

      OPMERKING:De preprocessor definities zijn zonder komma's spaties tussen de definities.
    3. In deTaal-keuze, selecteer de taal die wordt gebruikt in de bron.

      OPMERKING:U wilt de naam van de dll-bestanden om te helpen identificeren. U wilt bijvoorbeeld een "d" toevoegen de basis naam markeren als een DLL-bestand voor fout opsporing en taal-specifieke extensies gebruiken om de land instelling. Houd er rekening mee dat een fout opsporings versie van het uitvoerbare bestand werkt niet met een release versie van de bron-dll.

      Dit kan worden gedaan door de uitvoer als doel dat de linker voor elke versie van het dll-bestand gebruikt.

      1. Selecteer deKoppelingeigenschappen pagina van deProjectinstellingenhet dialoog venster.
      2. In de in deInstellingen voorkeuze lijst met invoer vak, markeren de configuratie waarvoor het dll-uitvoer wijzigen de map.
      3. Zorg ervoor datCategorieis ingesteld opAlgemeenen geef de uitvoer mapnaam in het vak onderNaam uitvoer bestand.
      Bijvoorbeeld voor een DLL-bestand die gelokaliseerde bronnen voor Franse, wijzigenDebug/ResourceDLL.dllnaarFout opsporing voor Frans / ResourceDLLd.FRAvoor de Win32-configuratie opsporen en wijzigen wijzigenRelease/ResourceDLL.dllnaarFrans versie / ResourceDLL.FRAvoor de configuratie van de Win32-versie.

      Gebruik deze DLL's, moet u kopiëren de gewenste DLL-bestand in de map MyApp. exe zich bevindt, of een juiste Windows-map en wijzig de ResourceDll.dll of ResourceDllD.dll. Bijvoorbeeld:

      Kopieer ResourceDll.FRA\windows\system\ResourceDll.dll

      U kunt ook de map opgeven waarin het bronbestand MyApp.res, wordt voor elke gelokaliseerde dll-bestand gegenereerd.

      1. Selecteer deBronneneigenschappen pagina van deProject instellingenhet dialoog venster.
      2. In de in deInstellingen voorkeuze lijst met invoer vak, markeren de configuratie die u wilt wijzigen de output bron de map.
      3. Zorg ervoor datCategorieis ingesteld opAlgemeenen geef de Directory waar het uitvoerbestand voor de bronnen zal worden in het vak onder gegenereerdBron bestandsnaam.
  6. Uit deProjectin het menu selecterenInstellingenen markeer hetResourceDLLproject. KiesAlle configuratiesuit deInstellingen Voorkeuze lijst met invoer vak. Klik op deC/C++tabblad gevolgd door dePreprocessorcategorie. Het pad naar MyApp project toevoegen deExtra mappen opnemenveld.
  7. Uit deProjectin het menu selecterenInstellingenen markeer hetMijntoepproject. KiesAlle configuratiesuit deInstellingen voorkeuze lijst met invoer vak. Klik op deBronnentab, en in dePreprocessor definitiesveld, toevoegenAFX_RESOURCE_DLL. Deze definitie verwijderen alle bronnen van Mijntoep. exe.
  8. In de werk ruimte ResourceView open elke map en met de CTRL-toets ingedrukt, selecteer alle resources in het project Mijntoep. Bijvoorbeeld: uw selecties Neem een IDR_MAINFRAME voor de snel toets en IDD_ABOUTBOX voor het dialoog venster.

    Voor elk van de ResourceDLL-configuraties op deInvoegenin het menu Klik opResource kopiëren, de taal instellen op de gewenste taal en druk opOK. U hebt nu een volledige set bronnen voor een andere taal. De resources echter moeten worden vertaald.

    (Als de taal waarvoor u wilt maken van bronnen vertaalde zich niet in de lijst met talen, selecteert u een andere taal en handmatig bewerken de de tekst van het bronbestand. Nadat u de gewenste wijzigingen hebt aangebracht de haakjes naast de resource wordt "Onbekende taal" zegt en weer geven de taal en de secundaire id's.)

    OPMERKING:U kunt ook bestaande bronnen kopiëren naar het bronbestand op Deze tijd. Maak bijvoorbeeld een aparte AppWizard MFC toepassingsproject die gebruikmaakt van de Franse taal bronnen met behulp van dezelfde opties gebruikt de eerste Mijntoep maken project. Na het maken van deze toepassing, sluit u de werk ruimte Selecteer en open de project werk ruimte MijntoepResourceView. Klik in hetBestandmenu, klikt u opOpen, en de Franse toepassing RC bestand te openen. Nu slepen en neerzetten alle bronnen uit de Franse toepassing in de toepassing MyApp. Deze bronnen zijn al in het Frans en geen vertaling nodig.
  9. Een HINSTANCE lidvariabele toevoegen aan de toepassing CWinApp afgeleid klasse. Dit houdt u de sessiehandler van DLL-bestand. Bijvoorbeeld:
       HINSTANCE m_hInstResDLL;
    						


    Binnen de CWinApp::InitInstance-definitie voor het project toevoegen de de volgende drie regels aan de bovenkant van de functie:

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


    OPMERKING:Het is niet nodig om AfxSetResourceHandle() te bellen op dit punt.
  10. Met de klasse CMyApp::ExitInstance() lid functies toevoegen De wizard. Voeg code vrijmaken van de bibliotheek voordat de toepassing wordt gesloten. De functie als volgt wijzigen:

    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. De toepassing is klaar om te bouwen. In het dialoog venster Batch maken Selecteer de gewenste doelen. Houd er rekening mee dat u moet kopiëren het juiste DLL-bestand in het een geschikte locatie en de naam ervan wijzigen.

Referenties

Technische opmerking 56 (TN056) beschrijving van de bronnen met gelokaliseerde MFC (MFC40LOC.DLL-BESTAND).

Technische opmerking 57 (TN057) beschrijving van sommige van de modellen en procedures u kunt gebruiken om uw component lokaliseren, of dat nu een toepassing of een OLE-object een besturings element of een DLL-bestand dat gebruikmaakt van MFC.

Technische opmerking 23 (TN023) beschrijving van de standaard bronnen voorzien en het MFC-bibliotheek nodig heeft.

Raadpleeg het volgende artikel in de Microsoft Knowledge Base voor meer informatie over de Microsoft Foundation Classes bij Visual C++ versie 2. 2 en eerdere versies:
147149"How to lokaliseren van bronnen met Foundation Classes"


(c) 1999 Microsoft Corporation, alle rechten voorbehouden. Bijdragen door Isaac Varon, Microsoft Corporation.

Eigenschappen

Artikel ID: 198846 - Laatste beoordeling: zaterdag 26 februari 2011 - Wijziging: 2.0
De informatie in dit artikel is van toepassing op:
  • Microsoft Visual C++ 5.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
Trefwoorden: 
kbhowto kbIntl kbintldev kbmt KB198846 KbMtnl
Automatisch vertaald artikel
BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.
De Engelstalige versie van dit artikel is de volgende:198846
Vrijwaring inhoud KB-artikelen over niet langer ondersteunde producten
Dit artikel heeft betrekking op producten waarvoor Microsoft geen ondersteuning meer biedt. Daarom wordt dit artikel alleen in de huidige vorm aangeboden en wordt het niet meer bijgewerkt.

Geef ons feedback

 

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