文書番号: 832187 - 最終更新日: 2011年7月30日 - リビジョン: 3.0

BUG: Visual C では、スタティック リンク ライブラリでは、MFC クラス ライブラリを使用すると、予期しないリソース言語の変更英語版以外のオペレーティング システムで発生します。NET

お知らせお使いのオペレーティング システムには適用しない情報が含まれている場合があります。

目次

すべて展開する | すべて折りたたむ

現象

Microsoft Foundation クラス (MFC) クラスを使用すると、ライブラリではなく MFC スタティック ライブラリ、MFC 共有ダイナミック リンク ライブラリ (DLL) としてMFC プログラムを変更、リソースの言語では、問題発生します。この変更では、リソースの言語と日本語のオペレーティング システムまたは体字中国語のオペレーティング システムなど、英語以外の言語のオペレーティング システムを搭載したコンピューターで発生します。リソースの言語が英語の変化、オペレーティング システムの言語が英語ではありません。

原因

MFC スタティック ライブラリ、Microsoft Visual C を使用すると、します。NETリソースの言語としての英語のではなく、日本語または中国語の言語、オペレーティング システムの言語を解釈します。リソースの言語ではありません。MFC クラス ライブラリは、MFC のスタティックの形で使用されている場合のローカライズライブラリです。ディレクトリ パスは、アプリケーションのリソース ファイル (.rc) に表示されないために発生します。場合 Visual C を使用して MFC アプリケーションを作成します。NET では、ディレクトリのパス (l。xxx) するには afxres.rc ファイルされ、 afxprint.rc ファイル リソース ファイル (.rc) ファイルから省略されます。

メモ この記事では、 xxx 言語の短い形式の名前のプレース ホルダーです。日本語を使用すると、プレース ホルダーが含まれている必要があります。 日本語版.ドイツ語を使用すると、プレース ホルダーが含まれている必要があります。 deu.体字中国語の言語を使用すると、プレース ホルダーが含まれている必要があります。 簡体字.

回避策

この問題を回避するには、リソース ファイル (.rc) を手動で編集する必要があります。不足しているディレクトリのパス (l します。 配置する必要があります。xxx) のリソース ファイル。ディレクトリパスは afxres.rc ファイルのパスと、afxprint.rc ファイルのパスを使用する必要があります、リソースの言語を表します。Afxres.rc ファイルのすべてとすべての afxprint.rc ファイルのディレクトリ パスを含める必要があります。

など日本語を使用すると、次の手順を実行します。
  1. メモ帳などのテキスト エディターを起動します。
  2. MFCProject プロジェクトのリソース ファイル (.rc) をエディターで開きます。
  3. リソース ファイル内の次の文字列の出現をすべて検索します。
    afxres.rc
    この文字列を次の文字列を置き換えます。
    l.jpn\\afxres.rc
  4. リソース ファイル内の次の文字列の出現をすべて検索します。
    afxprint.rc
    この文字列を次の文字列を置き換えます。
    l.jpn\\afxprint.rc
  5. リソース (.rc) ファイルを保存します。
  6. マイクロソフトの Visual Studio で、MFCProject プロジェクトを開きます。NET。
  7. ソリューションをビルドするのには ctrl キーと shift キーを押しながら B キーを押します。
メモ たとえば、体字中国語の言語を使用すると、交換する必要があります、 afxres.rc 文字列とは afxprint.rc 文字列は、 l.chs\\afxres.rc 文字列とは l.chs\\afxprint.rc 、それぞれ文字列です。これらのリソース ファイルに文字列を交換してください。他の言語を同じ方法で、言語短い名前を変更しなければなりません。

変更を有効にするのには、リソース ファイルをもう一度ソリューションをビルドする必要があります。

状況

マイクロソフトは、これは、マイクロソフト製品のバグであること確認していますこの資料の冒頭に記載します。

詳細

問題の再現手順

  1. Visual Studio を起動します。NET 2002 や VisualStudio します。日本語のオペレーティング システムや、体字中国語の言語を搭載したコンピューターで NETシステムをインストールします。
  2. で、 ファイル メニューのポイント新しい、し プロジェクト.
  3. 下にあります。 [プロジェクトの種類をクリックして ビジュアルC プロジェクト、し MFCアプリケーション 下にあります。 テンプレート.
  4. で、 名前 テキスト ボックス、入力MFCProject.
  5. で、 場所 テキスト ボックス、入力C:\Test、し [OK].
  6. で、 MFC のアプリケーション ウィザード、MFCProjectダイアログ ボックス、クリックして [アプリケーションの種類.
  7. 下にあります。 [アプリケーションの種類をクリックして 1 つのドキュメント.
  8. いることを確認、リソースの言語 英語ではありませんが、使用しているオペレーティング システムの言語です。

    で既定では、オペレーティング システムの言語リソースの言語として選択されています。この場合、いずれかが日本語または中国語。
  9. クリックしてください。 終了日 閉じるには、 MFC のアプリケーション ウィザード、MFCProjectダイアログ ボックスです。
  10. 構築するのには ctrl キーと shift キーを押しながら B キーを押して、プロジェクトです。
  11. 実行するのには、ctrl キーを押しながら F5 キーを押して、プログラムです。

    使用しているオペレーティング システムの言語と同じ言語で、アプリケーションのタイトルが表示されることに注意してください。
  12. アプリケーション ウィンドウを閉じます。
  13. ソリューション エクスプ ローラーでを右クリックし、MFCProject ノードをクリックしプロパティ.
  14. で、 MFCProject プロパティ ページ ダイアログボックスで、を展開、 構成プロパティ フォルダーをしをクリックして、 全般.
  15. 下に MFC の使用 プロパティの変更 MFC を使用します。共有 DLL するには スタティック ライブラリで MFC を使用します。.

    メモ 既定では、MFC アプリケーションは、MFC を使用してください。クラス ライブラリを共有 DLL としてします。
  16. クリックしてください。 適用、し[OK].
  17. 構築するのには ctrl キーと shift キーを押しながら B キーを押して、プロジェクトです。
  18. 実行するのには、ctrl キーを押しながら F5 キーを押して、プログラムです。

    英語、英語以外の言語を使用しているオペレーティング システムではなく、アプリケーション ウィンドウのタイトルが表示されます。

この資料は以下の製品について記述したものです。
  • Microsoft Visual C++ .NET 2003 Standard Edition
  • Microsoft Visual C++ .NET 2002 Standard Edition
キーワード:?
kbresource kbdlg kblocalization kbmt KB832187 KbMtja
機械翻訳機械翻訳
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:832187? (http://support.microsoft.com/kb/832187/en-us/ )
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"