真魚をいじったんだけどさ
腹を開けてみたらもう手の施しようがないくらい酷かったので、そのまま閉じで合掌したような感じ。本当にもうロールバックしかないと思ってる。最新のソースをいじってバグ潰しみたいな感じでどうにかするのは無理っぽいので、バグがでるような大工事をする前のソースまで戻して、そこにその後施したいろんな改変を加えていこうかと。でもそれもまずい問題がいろいろ生まれる可能性がある。これ、もうダメじゃねーかな。復活出来るか不安だわ。
今わかってることとして、MDI化で特殊なことやってるせいか、がWin7で大丈夫なのにWin8で落ちる。DelphiはWin7の仮想マシンにインストールしていて、実機のWin8にはインストールしていない。ライセンス認証問題でこのままの環境で行くとして、Win8で落ちないようにするのは無理だろうと。とりあえずこれが一番致命的な部分だ。それだけなら、単にMDI機能が動かないように封印してしまえばいいので、致命的とは言ってもすぐ対処できる。問題は、MDI化に伴ってMDIと連動するタブを新たに作り直した事なんだ。こいつが言うこと聞かない。ドラッグドロップとか窓のサイズを変更したときとかいろいろ描画に不具合があるのはわかってて、直したいのに直せない。その辺の挙動を「原因を探す」とか「解決法を探す」という作業からやって完成させるのはあまりにも難しい。既にうまく行っている過去の方法まで戻って、そこにうまく行った更新だけを加える方がいいのではと感じるわけだ。でもロールバックするとしても大がかりな更新は必要になる。ソースの至る所を将来の64bit化を見据えて手直ししているし、正規表現の鬼車も64bit化が必要で別のヤツに乗り換えてるわ。それにDelphiをアップデートした事による互換性ってのも結構酷くてそれも結構いじったはず。何か色々まずい。
でも方針として、真魚はWindowsの進化を追いかけて必ず失敗してたので、追いかけないことにしたんだよ。まず64bit化はしない。あとUIもタスクバーに何か機能を持たせるとかいろいろ諦めるわ。使う側からしたら新しい機能に対応してない古いアプリは不便なので、簡単に出来るならやった方がいいんだけど、そういうのを追いかけると必ず失敗してるわ。そう考えると、やっぱり古い真魚をベースに更新した方がいいのかなと思う。2012年ソースを破棄するなら、なんと2009年ソースからやり直しなんだよな。2009年ソースをWindows7向けに更新したり64bit化に備えたり新しいDelphiに移行させたりでいじったのが2012年ソースな訳で、差分とって必要な更新だけ残しておしまいとかって出来ないかしらね。
本当はね、最新のWindowsで動く怪しくないアプリを目指したかったんだよ。なるべくWindows標準アプリと同じ動作をさせたい。それをDelphiでやるのが難しいのか、それとも個人でやるのが難しいのか、どっちにしろ無理だ。
真魚いつも使わせていただいています、ありがとうございます。
最近pcがwin8になりましたが、問題なく使えていてとても重宝しています。