2020年07月03日
今回のネタはソフトウェアに関する自分の覚書にもなってるので、分かる人にしか分からないと思います。
何とか回避できそうな方法を思いついたので、今度の休みの日にでもプログラムを書いてみようかと思案中。
Windows10でOASYS V10を動かすとファイル名に関する不具合が発生する件について、回避策を考えていたら、何とかなりそうなことに気付きました。
現象としては、DOS形式のファイル名でないと読み込めず、エラーになるというもの(正確には全角で6文字以下だと読めるんですが、DOS形式でないので、テンポラリファイルにゴミが残ったままになる現象が出ます。DOS形式だとこの現象はないみたい)。
これは、Windows10側の仕様変更に絡むものなので、厳密にいえば、OASYS V10が悪いわけではなく、仕様変更をしたWindows10が問題なわけです。
しかし、MSにそんな理屈が通じるはずもなく。
富士通の窓口からはファイル名をDOS形式に変更して対応するしかない、という回答です。
今更それはないよなあ、というのが本音であります。
で、考えたのが、以下のような方法。
私のレベルではOASYSに直接手を加えることは出来ないので、補助プログラムを作成します。
補助プログラムに対して、開きたいOASYSの文書ファイルを渡します。
ウィンドウにつかんで落とすでもいいし、コマンドラインで直接指定してもいい。
開きたいファイルの情報を受け取ったら、補助プログラムの方で受け取ったファイル名を記憶、ファイル名をDOS形式に変更して、変更したファイルごとOASYS V10を呼び出す。
編集が終わってOASYSを終了したら、DOS形式ファイル名を、記憶していた元のファイル名に戻して、補助プログラムを終了する、という方法。
これなら、OASYS V10を一切変更することなく、不具合を実現出来るのではないかと。
ファイル名変更に絡む部分を単純化すればバッチファイルででも出来そうな感じですが。(^^;
まあ、SHELLによる呼出し機能ですね。
ファイル名を受け取る機能を利用したプログラムは書いたことがあるし、SHELLの呼出しも大丈夫でしょう。
要注意なのは、同じファイル名がすでに存在する時とかなので、その辺の処理が重要かな。
間違って既存のファイルを壊してしまうことのないようにしないといけないし。
というわけで、プログラムを書いたことのない人には、なんのこっちゃ、な内容だったと思います。
しかし、過去のデータ資産は自分にとって大事なものですし、これを継承出来ないというのも困りますからね。
まだ作ってないけど、需要あるのかな。
ある程度はありそうな気もするけど。ま、気が向いたら公開してもいいかもね。
Posted at 2020/07/03 21:52:15 | |
トラックバック(0) |
ソフトウェア | パソコン/インターネット