blochの日記

自虐ネタ以外のぐちは書かないようにしましょう

visa32.basを探せ

ni以外のvisaには「変数定義ファイル」入っているかもしれぬ、と、tekVISAや、アジレントのIOLibSuite_16_2_15823のインストールを試みたが、niVISAがインストールされている状態では途中でコケてしまい、インストール出来ない。やれやれ、と半ばあきらめながらHDD内の検索をかけると、数か所にvisa32.basが見つかった。まるでパソコンのウィルス探しのようである。

  • C:\VXIpnp\WINNT\include
  • C:\Program Files (x86)\IVI Foundation\VISA\WinNT\include

どちらも同じタイムスタンプ(ファイル先頭に書かれているDate: 01-14-2003)を持つが、中身は数行だけ異なり、たとえば、
Global Const VI_INTF_PXI=5
という定義は片方にしか入っていない。とりあえず、両方とも確保して、マイフォルダにコピーした。これで安心と思いきや、、、、
ViSessionとかの定義はどこにも書いていなかった!!!!どうなっているのだろう。さらに、C言語用のvisa.hとvisatype.hも調べたけれど、それにも書いていない。一体全体、どこに隠されているのだろうか。
アジレントのvisaマニュアルによれば、visa.h及びvisatype.hを良く読めば、例えばViSessionがunsigned longであることがすぐにわかる、と書いてあるのだが、、、。
【後記】もう一度、visa32.basを見返してみると、NIのもAgilentのやつも、変数の型については、long(符号付きも無しもひっくるめてlongになってしまっている)やInteger、Byteで直接記述してあった。
C言語用のvisa.hでは変数型にViSessionとかViRsrcとか、個別に定義してあって、その中身はvisatype.hに記述されていた。最初は見逃していたらしい。