ActiveBasic5の入手法も最初に紹介できましたので、
これからは本格的にActiveBasic5の機能やプログラミングを紹介していきたいと思います。
と、いうことで最初の機能紹介に移りたいと思います。
ActiveBasic5に追加された新機能その1 名前空間
ActiveBasic5に追加された機能として最も目に付きやすいのは名前空間の導入だと思います。
私はこれによって今後のプログラミングスタイルがかなり違ってくるんじゃないかと考えています。
具体的に名前空間がどんなものか、実際の実装を見てみますと下のようになります。
Namespace Test Sub MyProc() End Sub End Namespace
この例でみるとクラス(Class ~ End Class)と何が違うのか分かりにくいと思いますが
名前空間の持つ機能はクラスとは違っています。
クラスが、メソッド(手続き・関数)とデータ(変数)を1つにまとめたもの、
つまり、オブジェクト指向プログラミングの実装形態の1つです。
一方の名前空間(Namespace ~ End Namespace)は関数名、変数名、クラス名などの
名前が衝突しないように分断する機能を持っています。
たとえば、下記のようなActiveBasicのプログラムは普通はエラーになります。
Dim A As Long Dim A As Double
つまり、プログラムの規模が大きくなったり、複数人で開発に携わる場合に、変数名や関数名が衝突することが、
しばしば起こりますが、名前空間を使うことでこれを回避するわけです。
下記のプログラムをActiveBasic5でコンパイルしてみてください。
名前の重複を防げることが分かっていただけると思います。
Namespace Ns1 Dim A As Long End Namespace Namespace Ns2 Dim A As Double End Namespace Ns1.A = 100 Ns2.A = 100.0
さて、私は今後サンプルプログラムをできるだけたくさん紹介していこうと考えていますが、
何も言わない場合は、プロジェクトタイプで言うところのDOSプロンプトベースでのコンパイルを想定しています。
所謂、プログラムの先頭のほうに#consoleが付いているやつです。
というのも、これ以外の開発ではうまく動かない場合があったり、ActiveBasic4とあんまり差異がないからですw
イグトランスさんがかなりForm周りを開発されているので、時間の問題なのですが、
ダイアログの開発をクラスベースでできるようになるのはもう少し先になります。