2013-04-10のつぶやき…
- トイレの電球が切れたので予備と取り替えたのだけれど以前より暗いし、ジーと音がして気になる。LEDにしてみようかなぁ。 20:56:28
- @pnyo1975 えーそうなの? 人感センサー付きの電球ってどうだろうか? in reply to pnyo1975 21:41:59
Windowsで動作するインタプリタ型プログラム言語「HSP(Hot Soup Processor)」で仕事で役立つアプリケーションを開発し、社内で使ってもらっております。今回は2月にバージョンアップしたテキストファイルによる簡易データベース検索アプリのバージョンアップのお話。「最近検索アプリの調子が悪いんだが…」という話を聞いての対応です。
この検索アプリは、私が所属する部署と隣の部署の人達が使っています。現行のアプリのバージョンはβ16ですが、まだ浸透していなくて、その前のバージョンであるβ14(β15は未発表)を使っている人もいるようです。
ところがβ14で何の問題もなく使えている人と、そうではない人がいるらしく、その原因がもしかしたらOSにあるかもしれないと気付いたのは今日のことです。
検索アプリの調子が悪いという人はβ14とWindows 7の組み合わせ。動いているという人はβ14とWindows XPの組み合わせ。何が原因なのかはっきりとは分からないまま。とりあえずバージョンアップしたβ16を使ってもらうことにしました。
しかしながら、Windows 7上でβ16は起動時にエラーが出て動きません。そこで私がテスト運用中のβ17を試しますが…こちらもエラー。私の環境では動作するため問題の切り分けができないことから、Windows 7のマシンに開発環境をそのままコピーしてソースファイルから実行しエラーの場所を調べることにしました。
すると…社内のサーバー上に置いてあるデータベースのディレクトリが正しく認識されていないことが分かりました。サーバー上のディレクトリを設定ファイルから取得できないのが原因のよう。設定用のiniファイルの中身を見ても正しくディレクトリが書かれているのに、iniファイルから読み出したはずのディレクトリが空になってしまう謎のバグがWindows 7にて発生しているのです。
そうなってくると文字コードが怪しいのだけれど、時間もないことだし今回は「チカラワザ」を使います。ソース内に直接サーバーのディレクトリを記述することで問題は解決しました(笑)。
私が作った検索アプリは笑ってしまうほどにマシンスペックに依存する仕様なのです。私が使っているPentium3時代のWindows98SEマシンでは、ファイルを2001年から2013年の範囲で検索すると18秒ほどかかってしまうのだけれど、今回対応したWindows7マシンではわずか2、3秒で検索結果を表示してくれます。現状ではこれ以上の高速化は望めないと思うし、これで十分だと思います。あとは…細かいバグがまだあるので、そのうち時間ができたら修正していきたいですね。