[リストへもどる]
一括表示

投稿時間:2002/10/07(Mon) 20:06
投稿者名:ほえほえ
Eメール:
URL :
タイトル:
XPで文字化け
Windows98で開発したプログラムがXPで実行すると文字化けします。
MSPゴシックを使っております。

VBではMSPゴシックはたまに文字化けするのでMSゴシックを使う方が良い、
との情報を得ましたが、原因は何でしょうか?
MSPゴシックのままで解決する方法はありますでしょうか?

どなたか教えてください〜。

投稿時間:2002/10/07(Mon) 20:12
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: XPで文字化け
コマンドボタンのCaptionが消える - ふくみゆ 10/03-20:16 No.820

このページの真中位にあります。参照願います。

尚、こういった問題の場合は、詳しい環境を書いて貰わないと、正確な
回答がでないかも知れませんよ!

投稿時間:2002/10/07(Mon) 21:39
投稿者名:よねKEN
Eメール:
URL :http://www5b.biglobe.ne.jp/~yone-ken/
タイトル:
Re: XPで文字化け
> VBではMSPゴシックはたまに文字化けするのでMSゴシックを使う方が良い、
> との情報を得ましたが、原因は何でしょうか?

FontオブジェクトのCharsetプロパティの設定が128以外に
何故かなってしまっているという話を聞いたことがあります。
#以前、V友で魔界の仮面弁士さんが何度かこの回答をされてた記憶があります。
#Googleで検索しても何件か引っかかりました。

> MSPゴシックのままで解決する方法はありますでしょうか?

FontオブジェクトのCharsetプロパティを128に設定してみてはどうでしょうか。

投稿時間:2002/10/08(Tue) 12:10
投稿者名:NAO★
Eメール:
URL :
タイトル:
Re^2: XPで文字化け
★結論から言いますと、ランタイムを入れ替えたら大丈夫でした。

最初、よねKENさんのおっしゃるように
Charsetが128以外、当方では0になっていました。
そのため半角英数なら表示されますが、全角文字だと空白になるか、文字化けしてしまいました。

フォームに指定すれば大丈夫だろうと思って
Private Sub  Form_Load()
    Font.Charset = 128
End Sub
としてみたところ、128に設定できたのですが
Form のみで他のコントロールには反映されませんでした。

仕方ないので、Controlsコレクションを使って
全てのコントロールに
Private Sub Form_Load()
    Dim obj As Object
    For Each obj In Form1.Controls
        obj.Font.Charset = 128
    Next
End Sub
とすることで表示できたのですが、ためしに
Vectorでランタイムをダウンロードしてきて
インストールしてみたら、何もしなくてもきちんと表示できました。

また、ディストリビューション ウィザードでランタイムを含めた
配布パッケージをインストールした場合もうまくいきました。

開発環境とランタイムのバージョンは同じだと思っていたのですが、
実は違っていたのか、あるいは同じランタイムでも、設定などによって
違いがあるのか、ランタイムのバージョンをチェックしなかったので
今となっては不明です。

もし、ほえほえさんが exe のみをコピーしているのでしたら
ディストリビューションウィザードを使用して、ランタイムごと
インストールしてみてはどうでしょう?

投稿時間:2002/10/08(Tue) 16:20
投稿者名:ほえほえ
Eメール:
URL :
タイトル:
Re^3: XPで文字化け
皆様、お早いお返事、ありがとうございましたm(._.)m。

どうしてもMSPゴシックでなくてはならない、ということでもなかったので、
昨日の内に、全てMSゴシックに変更してやってみました。
すると、文字化け現象は解消されました。
とりあえずは、一旦解決!といったところです。

実はランタイムはまだ入れてみてません。
そっちの方は確認出来次第、また報告いたします。

ちなみに当方のCharsetは全て128になってましたよ〜。