DDVの表示言語について

[戻る]
てんてく 2008/04/07(月) 13:05:41
開発環境
 WinXP VC++6.0
実行環境
 WinXP Embeded(日本語)

お世話になっております。
もしかしたら板違いかも知れませんが上記の環境で
DDV_MinMaxInt などのエラーメッセージが
英語になってしまいます。なにか情報ありましたら
よろしくお願いします。

Blue 2008/04/07(月) 13:50:16
リソースファイルの記述はどうなっていますか?

afxres.rc

と記述がある付近のコードを確認してみてください。

てんてく 2008/04/07(月) 17:22:32
返信ありがとうございます。
プロジェクトからafxres.rc
を検索してみたのですが、見つかりませんでした。

afxres.rc 言語 でググって見たのですが
ttp://m--takahashi.com/bbs/pastlog/a2500/A2443.htm
VC6.0でもこれと同じでいけるのでしょうか

Blue 2008/04/07(月) 17:25:34
>プロジェクトからafxres.rc
>を検索してみたのですが、見つかりませんでした。
ちがいます。
自プロジェクト内に XXX.rc があると思います。
それを"テキストエディタ"で開いて
>afxres.rc
>と記述がある付近のコードを確認してみてください
してください。

てんてく 2008/04/07(月) 18:50:01
>自プロジェクト内に XXX.rc があると思います。
リソースファイル内にその記述がないという意味です。

2 TEXTINCLUDE DISCARDABLE 
BEGIN
    "#include ""afxres.h""\r\n"
    "#include ""XXX\\YYYY.h""\r\n"
    " #include ""ZZZZ.h""\r\n"
    "#include ""WWWW.h""\0"
END

XYZWは独自のリソース用です。

てんてく 2008/04/07(月) 18:54:26
すみません、挙げた部分はあまり言語と関係なさそうです。
関係ありそうなところで今のプロジェクトでは

//NEUTRAL??
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEUD)
#ifdef _WIN32
LANGUAGE LANG_NEUTRAL, SUBLANG_DEFAULT
#pragma code_page(932)
#endif //_WIN32

//日本語
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN)
#ifdef _WIN32
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
#pragma code_page(932)
#endif //_WIN32

// 英語
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32


こうなっています。。

Blue 2008/04/08(火) 01:33:42
VC++6.0でResourceViewでツリーを右クリックしてメニューから
「インクルードファイルの設定」
でデフォルトですと
「コンパイル時に追加するファイル」
のエディットに

#define _AFX_NO_SPLITTER_RESOURCES
#define _AFX_NO_OLE_RESOURCES
#define _AFX_NO_TRACKER_RESOURCES
#define _AFX_NO_PROPERTY_RESOURCES

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN)
#ifdef _WIN32
LANGUAGE 17, 1
#pragma code_page(932)
#endif //_WIN32
#include "res\XX.rc2"  // Microsoft Visual C++ 以外のツールで編集されたリソース
#include "l.jpn\afxres.rc"          // 標準のコンポーネント
#endif

というのが設定されています。(環境がVC++6.0 Stand SP6ですが、、、)
ここで
>#include "l.jpn\afxres.rc"          // 標準のコンポーネント
で日本語のリソースを取り込んでいます。

DDV_MinMaxIntをデバッガで追いかけてみるとわかると思いますが。
afxres.rcの文字列リソースの「AFX_IDP_PARSE_INT_RANGE」をつかっています。


これがある状態でダメであると、
>WinXP Embeded(日本語)
ではまた違った設定になるのかも知れません。
(WinXP Embedded(日本語)向けのものがVC++6.0でできるのかもわからん)

ちなみにEmbedded以外では日本語で表示されるのでしょうか?

てんてく 2008/04/08(火) 11:20:56
blue さんの示されたとおりにやってみたのですがダメでした。また、
http://isobe.exblog.jp/939230
を参考にやってみたのですがやっぱりうまくいかず・・・

Embeded以外ではWin2k,WinXP(自分の開発環境)では日本語、英語の切り替えも
うまくいっていました。
ちなみに実行環境にはデバッグ用にVC6.0(英語SP6)がインストール済みなのですが
それは何か関係ありますか?

てんてく 2008/04/17(木) 21:36:12
[[解決]]
解決した・・・というにはお粗末なのですが
ビルドの設定でMFCをStaticLinkするようにしたら日本語表示できました。
誰かの参考になれば幸いです

古いスレッドには追加発言できません。