GP-IB VB6→VB.NET以上へ変換

GP-IB VB6→VB.NET以上へ変換

GP-IBのプログラムをお仕事で作っているが、前任者の流れでVB6を使っている。

しかし、VB.NET系(VB.NET2003以上の物を指す)の開発ツールでできたらいいのになどと思っていたものの、VB.NETに変換すると結構手間がかかるのだ。
そのため、挫折してしまい、VB.NET系のプログラムを作りたければ新たにプログラムを作るしかなかった。

それに、VB6とVB.NETでは、GP-IBの関数が違うらしく、そいつをお勉強するには高価なご本を購入しなければいけないらしい。
まぁ、VC#のGP-IBがらみの本はしぶしぶ自腹購入したけれど、ここの所出費が多く、いくら勉強のためとはいえ、どうにかならないものかと思っていた。

ぐぐっていたら、NI社のサイトに引っかかった。VB NET 2003 Simple GPIB using GPIB-32.DLLというタイトルで、文字通りGPIB-32.DLLを使ったVB.NET2003用簡単プログラムを紹介。
VB.NET2003で作ったサンプルがダウンロードできるのだ。

丁度仕事で使っているのは、NI社のGP-IBコントローラだ。こいつをもじってやれば…などと考えていたが、ふと考えてみると、サンプルファイルの中にあるNiglobal.vbとVBIB-32.vbというファイルを使ってやれば変更が簡単に済むのではないかと。

VB6でGP-IBプログラミングの際には、Niglobal.basとVBIB-32.basを使うが、VB.NETでVB6のプロジェクトを変換する際に、Niglobal.vbとVBIB-32.vbに変換されるのだ。
それに着目し、それらをサンプルファイルの物に上書きしたら、VB6で作成した内容をあまり変更せずにVB.NETへ移行できたのだっ!
これで楽に前任者がVB6で作ったGP-IBプログラムを変更できそうだ。

ちなみに、よくあるGP-IBセミナーは、VB6で行われていることがほとんどのようだ。勉強したことをそのままVB.NETで同じことをやろうとすると、全く動かないのだ。
紹介したサンプルを使ってやれば、VB.NET系でもVB6感覚でGP-IBプログラムができてしまう。

VB.NET系は、ユニコードが使えるので、日本語と併せて、中国語、韓国語…を表示させることがいとも簡単にできる。
VB6では、多言語表示するのは、困難なことだったのよねぇ。