PB 電子会議室
カテゴリ:PowerBuilderの開発環境
日付:2000年07月15日 08:26 発信者:MINORU_H
題名:PB6.5: VCで作成したActiveXコントロールへ配列を渡す方法について
初めて投稿します。よろしくお願いします。
先日VC++6.0のウィザードを用いてActiveXコントロールを作成しました。
質問はこのコントロールのメソッドへshort型の配列を渡すだけの話なのです。
コントロール側の引数の型はshort *です。
VBにて動作確認を行ったところ、問題なく配列の先頭ポインタをコントロール
側で参照できたのですが、PB6.5にて
int param[5] = {100, 100, 100, 100, 100}
ole_1.object.poo(param[1])
の様に指定しても1番目のデータしか取得できません。
本日、このHPを発見し、検索しましたところ(余裕がなくて何方の記事か覚え
ていませんが)APIのlstrcpyn()を用いてアドレスを参照する事ができると
いう記事を発見しました。
この関数を間にかませば無理やり参照できると喜んでいたのですが、やはり
うまくいきません。VC側(コントロール側)のデバッガでPBの変数の割
り当て状況を確認したところ、int型で宣言した配列の要素が8byte毎に入って
いるではありませんか。
これは何か私の使っている環境がおかしいのでしょうか。それともPBのメモリの
割り当てはInt型の配列でもクラスオブジェクトとしてラップされて8byte毎に
取られるものなのでしょうか。
非常に初歩的な質問で申し訳ありませんが、御教示していただければ幸いです。
よろしくお願いします。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows NT 4.0
DBMS その他
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.