tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルLabelが変わらない
記事No11955
投稿日: 2008/04/04(Fri) 12:59
投稿者MAKOTO
環境:Windows2000
デバッガー:VB6SP6
ソフト:業務用ソフト フォーム:10個 モジュール:10PAGE クラス:3個
1,Formに貼っているLabelプロパティでCaptionの文字が書いてあるのですが違う文字に書き換えてEXEを作成してもLabelが書き換わらない
(プログラムでは、書き換えていません)

2,
Formイメージ
     B1 A2 A3      
     A1 B2 B3
A1とB1を入れ替えてEXEを作成しても実行結果が書き換わらない
2の上記のままです。
(プログラムでは、書き換えていません)


1,2の原因は、なぜでしょうか?
現在の環境PCでVB6SP5の環境及びPCが壊れているのでしょうか?
別PCのVB6SP6に入っているWindowsXPだと簡単に1,2は、書き換わります。

2に関しては、プログラムで「:」文字を入れるとその部分が化けたりします.
「□F」とかと化けます.

ソース、フォームは、フォルダー事に分かれています.

[ツリー表示へ]
タイトルRe: Labelが変わらない
記事No11956
投稿日: 2008/04/04(Fri) 13:51
投稿者魔界の仮面弁士
「ディストリビューション ウィザード」または
「Visual Studio Installer」を使って、
セットアップ パッケージを生成していますか?

2000/XP/Vista 等には、VB6 のコアランタイムが同梱されていますが、
日本語用のサテライトライブラリ等は含まれていないため、事前に
ランタイムをインストールしておかないと、正しく動作しません。

実行環境にて、VB6 ランタイムのインスールをやり直してみてください。


特にフォント周りは、VB6JP.DLL の有無だけでも異なる動作をします。
Font プロパティが未設定の場合、既定のフォントが利用されますが、それらは
VB6JP.DLL があれば、MS Pゴシック, 9Pt, Charset = 128 という和文フォントとなり、
VB6JP.DLL が無いと、MS Sans Serif, 8.25Pt, Charset = 0 という欧文フォントになります。


# なお、VB6JP.DLL の単体頒布は禁止されていますので、セットアップ パッケージを作り、
# 作成した EXE とともに配布するようにしてください。

[ツリー表示へ]
タイトルRe^2: Labelが変わらない
記事No11961
投稿日: 2008/04/05(Sat) 09:04
投稿者MAKOTO
VB6 SP6用のランタイムをインストールして試してみましたが治りませんでした。
未だ良くわからない現象です。

Form.frm を記述しているDelphi?見たいなプログラムは、正常に書き変わっています。

この現象は、FORMが少ない数(2枚ぐらい)だと書き換わらない「:」=全角文字で化ける、この現象は、起こりませんでした。

ただ今模索中です。

[ツリー表示へ]
タイトルRe^3: Labelが変わらない
記事No11963
投稿日: 2008/04/05(Sat) 12:11
投稿者魔界の仮面弁士
> Form.frm を記述しているDelphi?見たいなプログラムは、正常に書き変わっています。
frm や frx を使う「開発環境」では、正常に表示されるのに、
exe から実行される「実行環境」では、正常にされない場合があった、という事ですよね。

文字化けが発生しているラベルに対して、
 MsgBox Label1.Font.Name
 MsgBox Label1.Font.Size
 MsgBox Label1.Font.Charset
を実行するようなテストプログラムを組んで見てください。

正しく表示される場合と、表示されない場合とで、
異なる値が返されていないでしょうか。

[ツリー表示へ]
タイトルRe^4: Labelが変わらない
記事No11970
投稿日: 2008/04/06(Sun) 23:32
投稿者MAKOTO
MsgBox Label1.Font.Name     → Tahoma
MsgBox Label1.Font.Size     →  8.25
MsgBox Label1.Font.Charset  →  0

と表示されました。これてやっぱりなんかおかしいですよね。
Font.Name =MSPゴシック Font.Size=9てなるはずです。Labelは、MSPゴシック 9になっています。


Formが1枚の上にLabel表示で全角文字を表すと全角文字は、すべてきっちり表示されます。だから首を傾げました。


この業務用(Formが10枚,フォルダがSrc ,form,Clsが分けられています)のアプリケーションOS(XP And 2000)に関係なく全角文字が化けます。





> > Form.frm を記述しているDelphi?見たいなプログラムは、正常に書き変わっています。
> frm や frx を使う「開発環境」では、正常に表示されるのに、
> exe から実行される「実行環境」では、正常にされない場合があった、という事ですよね。
>
> 文字化けが発生しているラベルに対して、
>  MsgBox Label1.Font.Name
>  MsgBox Label1.Font.Size
>  MsgBox Label1.Font.Charset
> を実行するようなテストプログラムを組んで見てください。
>
> 正しく表示される場合と、表示されない場合とで、
> 異なる値が返されていないでしょうか。

[ツリー表示へ]
タイトルRe^5: Labelが変わらない
記事No11973
投稿日: 2008/04/07(Mon) 22:15
投稿者魔界の仮面弁士
> と表示されました。これてやっぱりなんかおかしいですよね。
> Font.Name =MSPゴシック Font.Size=9てなるはずです。
「MS Pゴシック」や「MS PGothic」ではなく、
「MSPゴシック」ですか? それもおかしいかと…。

私が思いつくのは、

・日本語版ランタイムのインストールに失敗している。
・その環境には存在しないフォントが指定されている。
・Font プロパティの設定が正しくない。

ぐらいですね。

[ツリー表示へ]
タイトルRe^6: Labelが変わらない
記事No11974
投稿日: 2008/04/08(Tue) 00:19
投稿者MAKOTO
> > と表示されました。これてやっぱりなんかおかしいですよね。
> > Font.Name =MSPゴシック Font.Size=9てなるはずです。
> 「MS Pゴシック」や「MS PGothic」ではなく、
> 「MSPゴシック」ですか? それもおかしいかと…。
>
> 私が思いつくのは、
>
> ・日本語版ランタイムのインストールに失敗している。
> ・その環境には存在しないフォントが指定されている。
> ・Font プロパティの設定が正しくない。
>
> ぐらいですね。

すいません。
テストEXEですが
MsgBox Label1.Font.Name      
MSPゴシックでなくMS Pゴシックでした。

MsgBox Label1.Font.Size
9でした。

MsgBox Label1.Font.Charset
128でした。


Fontの指定は、間違っていなかったです。
プロパティを調べてみます。
日本語版ランタイムのインストールに失敗している。
これが一番近いかもしれません。もう一度調べてみます。
もう一度模索してみます。

[ツリー表示へ]