最近の記事
- 9/1 - 将棋始めました
- 5/16 - サーバー引っ越し
- 4/24 - 優先順位
- 3/17 - vbNullString と 空文字列 ""
- 3/15 - InputBox 関数の戻り値
- 3/13 - 紙と Excel と VBA
- 3/9 - 未だに Visual Basic 6
- 11/14 - ぼて閉鎖
- 11/9 - 関数オブジェクトの呼び出し
- 9/7 - メソッドとしての関数オブジェクト
Entering Passive Mode
HelloSaver を修正して ISaver2 を実装させても良いのだが、
以前作った HelloSaver(HelloSaver.dll)はそのまま残しておき、
新たに ISaver2 を実装した HelloSaver2 を作る。
これを HelloSaver2.dll という名前でビルドすれば、
旧コードベースの HelloSaver.dll と、新しい HelloSaver2.dll を
混在させた状態でテストすることができるだろうし。
スクリーンセーバーを選択するリストボックスには何を表示すれば良いか。
スクリーンセーバーは ISaver を実装するクラスなのだが、
現在の ISaver には、特別なプロパティがないため、
クラスの FQCN くらいしか名前として使えそうなものがない。
そこで、ISaver に名前を得るためのプロパティ 'Name' を追加して、
ISaver を実装するクラスから名前を取得する事ができるようにする。
そして、ホストではこれをリストボックスに表示するようにしよう。
ただし、インタフェースを変更するのは御法度だ。
開発用ライブラリ「Loafer.ScreenSaver.dll」を既にリリースしていた場合、
既存のスクリーンセーバーは古い ISaver を実装してコンパイルされている。
やっと安定稼働しました。
OS として、Windows 2000 と XP で迷ったが、
XP 固有の機能に助けられているケースが多いので、結局 XP を入れることにした。
添付ドライバも充実しているので、2000 以前の OS を入れる時のように、
そこまで手間をかけずに安定させることに成功した。
まだ OS しかない箱なので、これからソフトウェアを入れていくことになる。
今日は仕事なので、明日どれだけ整備できるかどうかやな。
平日晩と休みをフル活用して、なんとかパーツをかき集めた。
2001 年頃の物ばかりなので、性能は期待できないが。
・ASUS TUV4X(ASUS SP98AGPX に EEPROM を挿して強制フラッシュで復活)
・Pentium III-S 1.26GHz
・メモリ 512MB+256MB+128MB
・CD-RW ドライブ (24/10/40)
・HDD 6GB + 8GB + 60GB
問題ないだろう。多分。
日記用の開発環境(eclipse や Visual Studio 2005 等)くらいが使えれば良し。
後はくみ上げるだけだが、多分これが一番時間かかるんだろうなぁ。自作機の宿命で。
書く気はなかったのだが、あまりにもひどいので、ちょっと愚痴。
というか、苦い記録を文字にして残しておきたいからかも。
音楽 CD の破損、自転車のパンク、電子レンジの故障、
目の前での交通事故、パソコンのメルトダウンに続き、
昨日、手持ちマザーボード ASUS TUV4X の BIOS が飛んだ。
なんせトラブル続き。何か取り憑いてるんだろか。
この 3 ヶ月間、碌なことないぞ。
メルトダウンの後、パソコン用のパーツを実家から全て持ってきて、
色々と組み合わせを考えているのだが、どうもうまくいかない。
今日は Wii でインターネット。
こいつの事をすっかり忘れてた。
古いパーツがいくつもあるから、
メーカーの Web サイトにアクセスして、
マニュアルやらドライバやらを探す
お陰でだいぶ助かった。
ただ、ダウンロードができないんよな。
誰か、Wiindows か Wiinux を作ってくれ~。
おひさ。
しばらく更新してなかったのには理由がある。
自宅で使ってた機械が、この猛暑で熱暴走して、
ハードディスクはおろか、CPU からボードまで全滅となった。
また、メモリ不良の状態でバックアップが走ったらしく、
これまた悪いことに、バックアップされたデータも異常だと。
幸い、2 世代のバックアップを取ってたので、
データの消失こそ避けられた(これを知ったのも今日)が、
新しい機械の手配やデータ復元は、
時間的にもコスト的にも半端じゃない。
ISaver を実装しているプラグインが複数ある場合、
実行に使うプラグインを決めなければならない。
これを決めるのはもちろん利用者なので、
その設定を行うプラグイン管理画面が必要となる。
ということで、ホストのダイアログボックスを改造し、
好きなプラグインを選択できるようにしてみよう。
リソースファイルを書き換え、
スクリーンセーバーの名前と、
ダイアログボックスの定義を書き換える。
プラグインを動的に読み込む所から考えてみよう。
現在 Dispatcher.cpp では、#using ディレクティブを使い、
<HelloSaver.dll> を直接参照しているため、
以下のコード断片だけでインスタンスを作成できる。
// スクリーンセーバーを作成
HelloSaver saver;
これを動的に読み込むように切り替えるためには、
まず、HelloSaver.dll への依存を外さなければならない。
そうなると、「HelloSaver」のように、
プラグイン実装のクラス型を直接使うことはできないため、
リフレクションを使ってアクセスすることになる。
最近忙しいので、まだ毎日書く余裕はないなぁ。
なかなか本調子には戻れんもんやね。
もうしばらくの間、毎日の縛りはなしの方向で。
からと言って日付が飛ぶのは忍びないので、
ちょこっと適当に書いてみる。
今日は冷蔵庫がレッドカード。
野菜のあまりや肉の切れ端の賞味期限が迫ってる。
ということで、今晩は GC 焼きそば。