- PR -

バグ?データグリッド表示時のエラー

1
投稿者投稿内容
tpkr
ベテラン
会議室デビュー日: 2003/02/24
投稿数: 55
投稿日時: 2003-03-18 19:37
いつもお世話になっています。

VB.NETで作成したWindowsアプリケーションをOSがWindows98SEのマシンに
インストールすると、アプリケーションを起動してから一番最初にDataGridを表示する
時にだけ、赤いバッテンがDataGridコントロールのあるべき場所に表示されて、
「パスに無効な文字が含まれています。。」というエラーが発生します。
そのまま続行することが可能で、同じ(または別の)DataGridを次に表示させると、
正常に表示されます。
それ以降も特に問題なく動作しているよう見えます。

結構あちこち探してみたのですが、解決法が見つかりませんでした。
(InvalidPathCharsとか)

一応WindowsXPと2000で試しましたが、これらのOSではこの現象は発生しませんでした。
これはOS依存のバグなのでしょうか?
どなたか知っていらっしゃいましたらお教え願います。

[ メッセージ編集済み 編集者: てつ 編集日時 2003-03-18 19:40 ]

[ メッセージ編集済み 編集者: てつ 編集日時 2003-03-19 19:49 ]
Tog
ベテラン
会議室デビュー日: 2002/06/09
投稿数: 76
投稿日時: 2003-03-18 20:53
相変わらず難物のWin98ですね。

過去にも同様なエラーが出ているようです。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=3764&forum=7

私もWin98SE環境へデータグリットを多用したWindowsFormアプリケーションをいくつかのクライアント環境へ配布しましたがこの問題は発生しませんでした。

原因は分かりませんが。
アプリケーションの開始を
Application.Run(New Form1)
としてみてはどうでしょうか。
tpkr
ベテラン
会議室デビュー日: 2003/02/24
投稿数: 55
投稿日時: 2003-03-19 20:06
ご返答ありがとうございます。
過去ログにあったんですね。すみません。

メッセージに「。」が二つ出ているあたり、マイクロソフトも予想してないバグっぽい気がしたのですが(笑)

Application.Runメソッドというのは、不勉強ながら知りませんでした。
(Application.Exitはやったのに…)
試してみます。
tpkr
ベテラン
会議室デビュー日: 2003/02/24
投稿数: 55
投稿日時: 2003-03-26 11:00
こんにちは。

この件につきましてですが、解決することができました。
解決というよりも、回避策を見つけた、という方が正しいです。

この現象が起こる条件は「Applicationフォルダのパス名に全角文字が入っていること」です。
そのため、Setup時にApplicationフォルダのパスを指定しますが、そのときに
C:\Program Files\開発会社名\アプリケーション名\
ではなく、
C:\Program Files\Company\Application\
というように、全て英字のパス名にすればこの現象は起こりません。

出る人と出ない人がいるのは、文字によって問題が起こる起こらないというのがあるようです。

基本的に.NETでOSがWindows98/MEのときにだけ起こる問題というのは、文字コードが原因のようですね。
9xシリーズはANSIなのに対して、NTシリーズはUNICODEであるために問題が頻発しているように思われます。
特にCRはバンドルされている(=Microsoftが作ったものではない)ということもあって、
内部の文字コードがOSによって違うということが認識されていなかったのかもしれません。

>Togさん
ご返答ありがとうございました。
残念ながら、Application.Runメソッドの使用によっては解決することができませんでした。

今後もよろしくお願いします。

[ メッセージ編集済み 編集者: てつ 編集日時 2003-03-26 11:03 ]
tpkr
ベテラン
会議室デビュー日: 2003/02/24
投稿数: 55
投稿日時: 2003-03-28 19:47
補足ですが、Microsoftの方もこれをバグとして調査しているようです。
そのうちHotFixなどが提供されることでしょう。
1

スキルアップ/キャリアアップ(JOB@IT)