Top > Programmingとか > VB / VB.NET > 今さらアドイン

2004年04月01日

(1) アドインをこしらえざるを得ない状況に

えー、さるですこんばんは。

ただいま私は、長期出張客先常駐でプログラムの作成やら修正やらを行っているわけなんですが。
割り当たっているマシンが、どーいぅわけか今どきWin98なんですよね。
前任者から引き継いだ環境なので、その経緯がどーもわからず。Win2000くらいならさっくり動くだけのスペックですし、私の会社の方からの持ち込み機なので、客先サイドの旧型機ってわけでもないはずなんですけど。

ここらへんよくわかりませんが、なんだかオトナの事情とかあるのかもしれません。ないのかもしれません。

それはともかく、与えられた環境内でなんとかするあたりもプロだったりするよぅな気もしますので何とかしないば。
ってガンバってみているんですが。

…いゃほんっっと、今どきWin98ってツカえねぇっ。

今のシステムの動作要件がVB6SP5+Oracle7(以上)なんですね。
となると開発環境って当然、まずVB6IDE、Oracle Crientにoo4o。あとテスト結果の記録用にExcelと、データ確認用にSI ObjectBrowser(またはAccess)。あと時々秀丸とかDFとかZCopyとか。

これだけでもーメモリ不足が発生します。

もちろんホントにメモリ不足の場合もありますのでメモリを自動整理してくれるツールも常駐させてはいるんですが。
イタいのは、リソースメモリが簡単にいっぱいいっぱいになっちゃぅことなんですよね。
そもそもVB6のコードエディタって、Kernel32.dllのエディタウィンドウから派生させているらしくって、これががんがんリソースを食っていくわけなんですよ。
なのに今回のシステム、死ぬほど標準モジュールを使いまくってCallしまくっているもんですから。1つの機能をトレースしていくだけで20や30のコードエディタが開きまくったりしていくんですよ。

で、作ったプログラムをトレースかけながらIDE上で動作させていると、突然メモリ不足ですとの素っ気ないメッセージが出てくるわけです。ぴほん、と。

いっぺん出ちゃぅと、これなかなか対処が大変なんです。
デスクトップ自体の反応がにぶくなってしまうので、リソースを解放しようにも操作できなったりすることが多いんですよ。

かといって、テストとしては動作途中のDBの状態を記録していきたいわけですので、そうそうSI ObjectBrowser(これもリソース食いなんですが)やExcelを終了させるわけにもいきません。

せめてもの事前策として、あらかじめIDEのコードエディタを全部閉じてから実行しよぅかなーと思ってしばらくガンバってみたんですが。

数十個のウィンドウの右上[×]をマウスでひとつずつ狙いつぶしていくのもけっこう大変なんですよね。
じゃあショートカットキーでって、Kernel32からの派生ウィンドウなんだもの。閉じる時ってAlt+F4なんですよ。片手で連打するにはちょっとつらい。
しかも1つ閉じるたびにフォーカスがプロジェクトエクスプローラへ飛んじゃうもんですから、いちいち次のウィンドウにフォーカス当てるために一度マウスでクリックしないとなんない。



もーだめ。限界っす。

てことで、クリック一発でコードウィンドウとかフォームウィンドウとかをいっぺんに閉じられる機能がどーしても欲しくてたまらなくなりました。

幸い、VB IDEのインターフェイス回りはOfficeと共通のモジュールを使用していて、VB製プログラムからでもコントロールできる仕様になっています。
これを使ってIDEの機能を拡張してやれば、いまいち感あふれるIDEも私の手の動きにジャストフィットするよぅにできるかも。

との想いを胸に。
しばらく簡単IDE拡張方法をお話ししてみよぅかなぁ、と思ってみました。
うーん、すぐにドツボるのはいろいろ目に見えているんですけどね…まぁできるところまで走ってみよぅかと。

未だVB6で作業をすることの多い皆さんへ。しばらくよろしくお付き合いいただければ幸いです。

始めますよー(^^)。