[ホーム] -> [顧問の戯れ言]

顧問の戯れ言

Visual Basic で OLE

1998年2月1日

今回は、ちょっと話を変えて、Visual Basic で、OLE サーバを作ったときの話です。この、OLE サーバ、そのうちライブラリで公開しようかと思っていますが、まだドキュメント化が全然進んでいないので、もうちょっとお待ち下さい。って、たいしたものじゃないんですけどね。

Visual Basic 5.0 で作ったわけですが、結構良いですね。4.0 であった、変な制限も緩和されて、結構作りやすくなっています。OLE サーバとして、Friend がサポートされたのは、結構うれしく思ってます。スコープの定義で、Public や、Private と同じように使うのですが、スコープの範囲が、同一プロジェクト内に限られています。OLE サーバとして使うのでなければ、Public と同じですが、OLE サーバとして使った場合、Public で宣言された変数は、外部に公開されてしまうので、結構やりにくかったのです。Friend を使えば、外部に公開されないので、内部だけの Public 的に使用できます。もちろん、変数以外にも、関数などで使えるので便利です。

もう一つ、Visual Basic 5.0 で便利になったと思った部分が、引数を定義したときの型宣言です。今まで、Optional な引数(省略可能な引数)の場合、型が指定できなかったのです(全部 Variant 型)。今回から、Optional でも、型が宣言できます。Optional strArg As String なんて風にね。これうまく使うと便利です。今まで、Optional な場合、引数の型チェックなどを入れなければなりませんでしたが、今回から必要ないのです。こういう便利な機能はすぐに使いましょう。

実は、この Optional で受ける恩恵はこれだけではありません。デフォルト値まで設定できるのです。C++ の様に、初期値を設定しておけるのです。今まで IsMissing 関数などを使って、引数が渡されたかチェックしていましたが、必要がなくなりました。また、Property プロシージャの引数にも制限がなくなり、他のプロシージャと同じようにいろいろな引数が使えるようになりました。

まあ、Visual Basic 5.0 も、日本語版が出た当時から使っていたのですが、ここで書く様なこともなかったので、情報としてはかなり遅いですが、一応改めて書くことにきめました。SP3 もでて、結構安定して使えるようになってきましたので、がんばって極めようと思っています。あの、入力候補が出る機能も、速いマシンを使うと結構使い勝手がいいので、今は重宝しています。実は、これとの組合わせで、Enum も結構便利だと言うことも分かりました。ユーザ定義関数で、引数の候補が出たりするので、かなり便利ですねぇ。ここら辺は、次回、ちょっと詳しく触れるとしましょう。

戻る