2005年07月20日(水) |
タブブラウザと文字化けとわたし−<解決編>− |
前日からの続きです。
(あらすじ。 IEでコンボボックスの表示がおかしかったキタさん。 頑張って直しますが、愛用のタブブラウザ、 Lunascapeが壊れてしまいました。どうする?!)
さてさて、すったもんだで苦しんだ金曜日から、 連休を使って気分も体もリフレッシュしてきたキタさん。
お昼休みに順序良く、IEを入れなおしたりしようと思っていた矢先。 仕事で組み途中のプログラムが動かないことに気づきました。
金曜日は覚えてないけど、木曜日は動いていたプログラムが、 実行しようとするとエラーが出るのです。
半角文字を全角に変換する関数でエラーが出るですよ。 (例:ABC→ABCにする関数ですね)
調べると、ヘルプにはその関数は 「個人設定が日本語の場合のみサポートされています」とあります。 個人設定が日本語設定? まぁ、英語とかには倍角文字はないので、 アタリマエと言えば当たり前でしょう。
ということで、設定の確認ですが、コントロールパネルの「地域」を見ても、きちんと「日本」になっています。 プログラム言語自体には、そういう設定はないので、 OSの方だと、地域くらいしか言語設定をする場所を知りません。
しょうがないので、毎度おなじみネットでいろいろ調べると、 IEのサービスパックで、プログラムの環境が壊れる場合がある模様とありました。 直すには、「残念ながらOSの再セットアップ」を、とあり大ショック。
みなさんが話に付いてきてくれてるかはわかりませんが、 IEというのは、InternetExploreで、Exploreというのは、 Windowsのカーネル(Kernel:中核部分)そのものであります。
(簡単に実感出来るとすれば、 C:\とか表示されているエクスプローラのアドレスバーに URLを入れればホームページが表示されますし、 エクスプローラがハングアップすれば、 デスクトップの画面が書き換わりますし、 (要するにKernelが再起動するので、 それに伴ってWindowsのGUIも再描写されるわけです) エクスプローラの操作がIEに使えたりします。 (BackspaceやShift+Backspaceで、 前の画面や後の画面に移動できたりとか))
IEをアップデートするということは、 Windowsの中核のプログラムを書き換えるということなのであります。 (まぁ、IEに限らず、Windows社の製品は、勝手に書き換えちゃうんだけど)
その、Windowsの持っている固有の情報を共有して使ってる、 VisualBasicなんかのプログラムは、そういったUpdateで 環境が書き換わってしまうことがたびたびあるのです。
(例えば、ファイルを保存する時に、 ファイルを選択する画面がありますよね? それは、CommonDialogControlといって、 Windowsが提供している機能の一つであります。 プログラムを作るソフトが持っている機能を使用するのではなく、 それを利用させてもらって、その機能をプログラムで実装しているのです)
※もしかしたら、わたしが間違えて理解している部分があるかもしれません・・・ おかしい箇所がありましたら、そっと教えてやってください
だから会社では、最終的に納品するプログラムは、 専用の端末(最低限のアプリケーションしか入れていない)で作ります。
しかし、今まで大丈夫だったから、すっかり警戒を怠っていました。 プログラムが動かないのは大問題です。 ほとんどの場合、Windowsのシステムを書き換えた場合は、 元に戻すにはフォーマットしかありません。
後悔しても時既に遅しです。 しょんぼりしつつ、データの退避、インストールの手順を考えつつも、 藁をも掴む思いで、泣きながらIEの入れなおしをしてみました。
以下手順です。
1.IEのサービスパックをアンインストール 2.RoboFormをアンインストール(IEの新しいのいれたらついてきた) 3・アプリケーションの追加と削除で、IEを元の状態に戻す (IE4.0に戻りました) 4.Lunascapeのアンインストール 5.地域が英語になっていたので、日本語に戻す 6.IE6(サービスパックなしバージョン)をインストール
なんと、これでプログラムが動くようになりました。 うわーん、良かったよう。
どきどきしながら最後に、Lunascape2のインストールをしたら、 これも無事に動くことが出来ました。 文字化けしていません。 ひゃっほー!
まぁ、これによりどんなDLLが書き換わり、 どこで別の不具合が発生するかわかりませんが、 一応表面上の問題は収束でありました。 (そして今思えば、RoboFormのメニューで日本語が上手く表示できなかったので、 こいつが悪さをしていたような気もすごくします)
質問していたところには、自己解決したことと、 上の手順を記述してお詫びしたところで問題解決であります。
あー、良かった。 しかも昼休み使って問題解決しようと思っていたのに、 仕事中に解決しちゃった。 らっきー! (まぁ、プログラム実行できないんじゃ仕事にならないのだけれど)
しかし本当に、もう少し調べてから行動を起こしていれば、 こんなに慌てたり、絶望したり、無駄な時間を費やすこともしなくて済んだのに。 ついてないなぁ・・・というか、自分のあさはかにショック。
そういえば昔OAサポートをしていた時は、 IEのインストールは恐かったのに、 (最悪OSが動かなくなることがあったのです) 最近すっかり慣れ過ぎてたな。
IEのサービスパック充てや、バージョン上げは恐いことを覚え直しておきます。 うわああん。
|