弐条海月の とはずがたり

そこはかとなく書き綴るブログなるもの

HSPで開発したアプリのバグ修正

 私が以前「HSP(Hot Soup Processor)」で開発したテキストファイルをhtmlに変換するアプリがありまして…ここ数日、そのバグ修正を行っております。このアプリは私と氷翠さんが隔日で使っているもので、小さなアプリケーションを動かして目的の仕事を行う物なんですが。氷翠さんの環境では、そのうちの2つのアプリが動作中にエラーを起こして強制終了してしまうようになり困っていたそうなんです。

 私はWindows 98SEで運用していて問題なく起動するのですが、氷翠さんはWindows VistaからWindows XPに変えた途端に動かなくなったと言います。それを聞いて私は確信しました。原因のひとつがWIndows XPではないかと推察されるからであり、また実は過去に開発したアプリの中で、同様の症状が出ているものがあったからです。

 ほかならぬ、先日ソースを書き直して完成させた年号西暦の相互変換アプリ「一発換太君」も、旧アプリではT女史のノートPC(XP)で動作しなかったために作り直したアプリなんです。

 氷翠さんによると、XPでアプリを起動した際に発生するエラーは、ファイル操作を行う辺りらしいとのこと。そこでファイルをコピー、移動する命令を調べて怪しい箇所を特定し、その命令をコメントアウトすると、アプリの動作としては完結しないものの(当然ですね)エラーは起きないことが分かりましたので、代替命令文を入れて解決することにしました。とは言え、まだいくつか動作不良のアプリがありますので、早く直さねばなりませんね。

 私の開発環境下での話なので参考になるかどうかは分かりませんが、一応書いておきますね。エラーは、HSP純正プラグインhspextにあるファイルのコピー・移動命令「fxcopy」で発生しておりました。ですので、標準命令の「bcopy」に置き換えて解決させました。


仕様が固まらないです…

開発中の画面

開発中の画面

 Windowsで動作ずるインタプリタ言語「HSP(Hot Soup Processor)」で、仕事で使える「西暦と元号」「年齢と生年」の相互変換アプリを開発中です。全ての処理が完成しましたが、未だプロトタイプの形にすらなっていません(笑)。今日はバグ取りや最終的な調整をしようと思ったのですが、西暦or年号を選択肢数値を入力後「調べる」ボタンを押すとダイアログ表示で結果を示す現在の仕組みよりも、数値を入力するとダイレクトに結果を返す仕様のほうが使いやすいかな?と。どちらが良いのか…悩んでおります。写真は開発中の画面です。


プログラムって知ってる?

聞いても分からないだろう…と思いつつ、プログラムの話なんかを妻にしていたのですが、そんな私のテンションを察したのか、こんなやりとりがありました。

妻「あっ、どうせ言っても無駄だろうけど…とか思ってるんでしょう(疑)」
私「ドキッ、そ、そんなことはないさ(焦)」
妻「いや、絶対思ってた(怒)!」
私「思ってないって(汗)」
妻「貴方はそうやってバカにするけどね、本当はプログラムのことも知ってるんだからー」
私「ええっ? 例えば(擬)」
妻「PHPがJAVAで…FTPで送るよー」
私「言語の名前を並べただけだし。FTPはこの際関係ないから(爆)」

そんな妻ですが、以前までは私よりもHTMLやCSSを理解していて、
手打ちでページ作成とかやってたのが信じられないくらいです。

ただし、ブラインドタッチではなく「一本指打法」ですが(爆)。


HSPでの自作アプリについて…

 昨夜は雨が降ったおかげで、今日は花粉の飛散が劇的に少なかったと思います。昨日はひどかった花粉症の諸症状(目のかゆみ、くしゃみ、鼻水など)も、今日はほとんど出ませんでした。気が散らずに仕事に臨むことができたので、現在開発中のアプリケーションもかなり進みましたよー。

 現在、仕事で開発しているアプリケーションは、私が実際に会社で毎日使っている自作アプリのバージョンアップ版という位置づけです。これを私以外でも使えるようにするため、プログラムの大幅な見直しと調整、場合によっては新規開発をしているのです。

 詳しく説明すると業務内容に触れてしまいかねませんので避けますが、簡単に言えば文章と写真をWEBサイト用に整形するアプリケーションをメインとして、それを選ぶためのアプリ、サブ的なアプリなど諸々のシステムです。

 私は2005年5月から盆正月と日曜日をのぞく毎日、このアプリケーションを使って仕事をしてきました。自分が使いやすいように途中、何度かバージョンアップしましたが、開発言語であるHSP(Hot Soup Processor)のバージョンが皮って一部の命令の互換性がなくなったり使えなくなったモジュールがあったりして、ツギハギだらけになってしまっていたのです。

 これを私以外の人でも使えるバージョンにすべく、昨年は新規に書き直すべくメインの仕事の合間に開発に着手し、ようやく年末からベータ版を使って毎日の作業の中で動作確認をしてきました。基本的な仕様に問題がないことが確認できたので、いよいよ細かい部分の修正をかけて実際に私以外の人でも使えるように調整する時がやってきたのです。

 現在調整しているのはメインのアプリである文章と写真をWEBサイト用に整形するものです。コメントなどを含めてではありますが3200行ものプログラムですが、これを1から見直すことで、2400行を切るくらいまで短くなりました! 処理の共通化を図って何度も同じような記述をしなくて済むようにしたり、不要なサブルーチン(処理セット)などをバッサリ削除したりしているのです。また、開発中の部分もとりあえず削除してしまいました。また、いくつもあった不具合を修正しています。PHPの勉強をしばらく続けていた成果が表れているのか、処理の共通化が思考的にしやすくなった気がしています。

 併せて、サブアプリケーションの一つは、ほぼ新規開発の形になりました。これはイラストレーターで作成したファイル開いて全選択後、中のテキストデータをサーバに保存、その後XMLファイルに整形してXMLファイルと画像を所定の場所にコピーするアプリケーションですが、処理の都合上、これを2つに分割することにしました。テキストデータをサーバに保存までを1つのアプリにし、XMLに整形して保存するアプリも別に開発することにします。


固定ページ

最近の投稿

カテゴリー





カレンダー

2024年4月
1234567
891011121314
15161718192021
22232425262728
2930  

過去の日記はこちら

キーワードで検索