「伺か」のゴースト製作記(19)(2002/07/21)
ああ、倦怠しているともさ……(泣)
バルーン乗っ取れません。て、ゆーかトランスレータの仕様って変だ。なんで返事がないからって自分で勝手に処理してますか? 握り潰し厳禁ですか? なにかメリット/デメリットありますか? うえーん。
基本的にバルーンって言っても標準出力のひとつでしかないはずなんですよ。このマルチメディア時代においては音で表現したり、まぁ色々とできても良いと思うんですが、何故か必ず活字を使わないと駄目という設計なんですな。
むろん合成音声で喋ってしまうゴーストも在りますが、MAKOTO で処理する限りにおいてバルーンは表示してしまうわけでして。SHIORI で処理するとなると今度は SSTP とかでバルーンが使われてしまう。
ああ、まぁしかしそれは当然かもしれません。漢字かな混じり文を発音させるのはさぞかし難しかろう。ううーむ。
表示のタイミングとか考えると、もはや別プロセスでやんないと収拾つかないような感じです。しかしアプリケーションに依存する実行ファイルを添付するってのは、あんまり好みじゃないんだよなぁ……デバッグできないし……。
どうしたもんですかね。
それにしても新規にプロジェクトを立ち上げると試行錯誤が楽しいですな。行き当たりばったりなので、壁が現れるといっぺんに嫌気が差しますが(笑)
テキストエディタ作ってる話はしたんですが、どう言う訳かエディタにゴーストを搭載すると言う暴挙に出てます。

とりあえずコンポーネント化して汎用的にアプリケーションに搭載できるように作っています。現状では辛うじてシェル、バルーンの表示がモノになってきました。さくらスクリプトよりは先に、SHIORI サーバーを手につけないと……。
ただし互換性はさほど重要では在りません。というか、バルーンの表示能力から言っても完全互換は無理無理無理、です。メニューについてはメニューウィンドウを割り当てたりできそうですが。
コンポーネント化したとしても使い道はさほどありませんな。エディタのように汎用的に使われるなら兎も角として、アーカイバや各種再生ソフトなんかの特化的なアプリケーションだと集中的な作業の邪魔以外の何物でもあらずして。
MATERIA の場合デスクトップに置かれて言わば PC 全体を見渡す位置にあるわけで、故にインターフェイスや機能もそれなり、な訳ですけど……エディタに実装するとなると機能自体はまったく問題外でして。結局ほとんどトークするだけでよさげ。
ステータスバーの代わりはできるかも知れませんが、ゴースト非表示も考えられるんであまり依存しない方が無難そうです。
さて Operation雛≠フほうですが……。特に理由もなく FTP 操作クラスが出来上がってきてます。とはいえソケットを叩くといった不毛なことはせず、WinINet.dll を使っちゃってます(^-^;)
この辺は各種処理系用に解説やサンプルが多くありますんで説明はしませんが……お手軽だ……。
FindFirst 系でファイルの諸元を取得すると WIN32_FIND_DATA 構造体で返すあたりが少々、笑ってしまいましたが。まぁ確かに InternetExplorer 用の API だろうから、どの道そのくらいの実装でいいんでしょうけどね。
今のところ、インターネット接続の開始、FTP サーバとの接続、ファイルのアップロード・ダウンロードとファイル列挙まで実装。
WinINet を全てラッピングしたら公開しようと思ってます。あんまり良いラッピングじゃないんですけど。セッションはいくつでも作れますが、ユーザー名やパスワードをプロパティにしたんで実質的に一個のセッションを維持するだけですし……普通はそれで十分なはずですけどね。だから関数の引数を簡略化できるわけでして。ま、いいか。どうでも。
SAORI にしてもあまり使い道なさそう。一般ユーザーは anonymous でログインするわけですけど、単にファイルをダウンロードするだけなら HTTP でする方が使いやすいですしね。ゴーストがアップロードするってセキュリティ上は結構恐いですから。
まぁミニ FTP クライアントってのは、作る側としては面白くなくはないかもね。使う側にとってはまるで無意味ですけど。
そんなワケでして「ゴーストを作る」という作業はプログラミング面ではこれっぽっちもしちゃおりません(笑) シェルの方を、表情の差分でするようにしたので配布サイズが 100KB ほど縮みました。フリーシェルを部分的に含んでいるのでそいつも差分処理したら、もう 50KB 位は削れそうですが。まぁその内にでも(^-^;)
ついでに左沢の方を、もっとBB弾らしく小さくしてやりました。壁紙の状態によっては見つけられないかもしれません。
こいつもチョットしたアニメーションをさせて変化をつけてやりたかった(小さくなったからね)んですが、アニメーションもびっくりマークとかの追加アクションとかも、他のゴーストから定義をコピー&ペーストしているにも関わらず表示されません。move コマンドもなんだかシカトされるしよ……。なんでだ。
最新リリースは、SSP や CROW での動作も確認したし、上記の理由もあるしでマイナーバージョンをあげました。ビルドは…… FTP 機能のデバッグをしてるだけですがまぁ一回だけ上げときましょうかね。
FTP 機能のチェックは、Shift+Ctrl+右クリックです。Ctrl+右クリック だと SAORI 試験モードに入っちゃうので注意。って言うかいつまでも同じコマンドではありませんので、それも注意。
今度のリリースではベクターの FTP サーバーへ繋いで適当なディレクトリを一覧します。それだけです。インターネットに繋いでないと怒られますので注意(^-^;)
付属の FTPCHECK.TXT のコメントを外して書き換えれば、アクセスさえできれば一覧の取得はできます。まぁ次のリリースでは別の試験になってますんで、暇な人だけ付き合っていただければ、と。はい。
アップロードしたのは 0.4.23.136 です。
つづく。