[an error occurred while processing this directive] [an error occurred while processing this directive]


プログラミング
逆引き
クライアントとの通信
VisMでの通信
Factoryでの通信
WebServiceでの通信
CSP (Cache' Server Pages)
Cache'SQL
設定・性能


【広告】









VisMでVBから接続する

Connection Visual Basic on VisM.

注: このページではVisual Basic 6での接続方法を書いています。その他のバージョンについては以下を参照して下さい。

Cache'のウリのひとつが豊富な外部との接続方法です。
その中でもVisMコンポーネントを使ってVisualBasicと連携すのは、簡単なうえ使い道が広いのでいろいろな用途に使えます。
まずはやってみましょう。

Cache'をインストールしたマシンでVisualBasicを起動し、新しいプロジェクトダイアログで 標準EXE を選択します。
画面左側のツールボックス上で右クリックします。
現れたメニューからコンポーネントを選択します。
コンポーネントダイアログが表示されます。
表示されたリストの中から VisM *.* ActiveX Control Module にチェックを入れて、OK ボタンを押してください。探すのが大変かと思いますが、下から探すと簡単です。

もしこのリストの中にそのようなコンポーネントがないという時は、Cache'のインストールが正常に完了しなかったか何かで、コンポーネントがWindowsのシステムに正常に登録されていない可能性があるということです。Cache'を再インストールしてみましょう

あんましこのアイコン好きくない…ツールボックスに新しいアイコンが追加されたはずです。
これをクリックして、フォーム上でドラッグします。
フォームにVisMコントロールが貼り付けられました。
このコントロールのプロパティに次のように設定します。

MServerプロパティ CN_IPTCP:127.0.0.1[1972]
NameSpaceプロパティ USER

フォームにボタンを追加します。
そのボタンのクリックイベントに、次のようにコードを追加します。

Private Sub Command1_Click()

VisM1.Code = "S VALUE=$H"
VisM1.ExecFlag = 1

MsgBox VisM1.Value

End Sub

それでは実行してみましょう。
ボタンを押すと、$Hの値が表示されたはずです。

$Hって?

VisM.Codeの値はターミナル上で有効なコードならたいていのものが有効です。

VisMコンポーネントのプロパティ (?の部分が分かる方、教えてください)

プロパティ 内容
Code ExecFlagで指定されたタイミングでCache'サーバ上で実行するコード。
ControlClasses ?
Error エラー発生時、エラーコードが入る。
ErrorName エラー発生時、エラーメッセージが入る。
ErrorTrap エラー発生時、VisM_OnErrorイベントを実行するか決める。
ExecFlag Codeプロパティを実行するタイミング
0  実行しない
1  すぐに実行する
2  参照されたとき実行
3  定期的に実行 (Intervalプロパティ)
FormName ?
Interval ExecFlag=3のときの実行する間隔
LogMask ?
Mserver 接続先サーバを指定する
CN_IPTCP:接続先IPaddress[接続先Port]
NameSpace 接続先で使用するネームスペース
P0 〜 P9 VBとCache'環境で共有する変数。
VB側でVisM.P0=100とすると、Cache'側でもP0=100となっている
PLIST VBとCache'環境で共有する変数。
PDELIMの値で区切られたデータをVB側でPLISTに設定すると、Cache'側ではPLIST下で配列として展開される。
PDELIM PLIST参照
TimeOut Cache'に接続して、その結果が返ってくるまでの待ち時間。0はずーっと待つ。
Value VBとCache'環境で共有する変数。P0 〜 P9と同じ。

VisMを使い始めると、VB上でもCache'と同じような文字列処理がしたくなってくるかと思います。 そんなときに便利なモジュールを作ってみました。ModuleMのページ

<追記>
Delphi でも VisM.ocx をインポートすることによって同様のプログラムを簡単に作成することができました。
Kylix でもできたらいいなーと思うんですが、これは未確認です。
VB.netの場合


[an error occurred while processing this directive] [an error occurred while processing this directive]
2012/11/19Update