PB 電子会議室
カテゴリ:PowerBuilderの開発環境
日付:2000年08月03日 16:34 発信者:めめ
題名:RE(15):PB6.5: VCで作成したActiveXコントロールへ配列を渡す方法について
MINORU_Hさん、こんにちは。
お疲れさまです。
もう対処されたかとも思ったのですが、少し気になったことがありましたので・・・。
もう少し早くに時間が作れれば良かったのですが・・・すみません。
でも、もしも同じ思いをされる方がいらっしゃった時にと思ったものですから。
配列のアドレスを ActiveX のメソッドに渡せるようです。
以下、配列のアドレスとインデックスの値を引数にして、指定された値を返す例です。
やり方などなにかありましたら、ご指摘頂けたらありがたいです。
【外部関数】
function Long lstrcpyn(long dst[], long src[], UnsignedLong length) &
library \"KERNEL32.DLL\" ALIAS FOR \"lstrcpynA\"
【スクリプト】
Long ll_1[] = {100, 200, 300, 400, 500 }, ll_2[]
Long ll_ret, i
String ls_1
ll_ret = lstrcpyn(ll_1[], ll_1[], 0)
For i = 1 TO 5
ll_2[i] = ole_1.Object.メソッド名(ll_ret, i)
ls_1 += String(i) + \" : \" + String(ll_2[i]) + \"~r~n\"
Next
Messagebox(\"結果\", ls_1)
【ActiveX のメソッド】
long クラス::メソッド名(long a1, long a2)
{
// TODO: ここにディスパッチ ハンドラ コードを追加してください。
long *dat, ret ;
(long &)(dat) = a1 ;
ret = *(dat + a2 - 1) ;
return ret ;
}
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows NT 4.0
DBMS その他
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.