PB 電子会議室
カテゴリ:PowerBuilderの開発環境
日付:2000年09月04日 21:47 発信者:Taka
題名:RE(17):PBでのポインタの使用 (2)
...続き
ただし、[null]で区切った文字列や、終端が[null][null]でなければならない文字列については、
PBのstring型では編集/参照等のハンドリングが不可能ですね。
したがって、
・lpstrFilter
・lpstrFile
については、string型ではなく固定長のblob変数でやりとりする必要があるわけです。
これらメンバは、blob型で宣言してもうまく機能してくれません。
恐らくstring型の場合とは異なり、blob型はPBが自動的にポインタ変換してくれないのでしょう。
ですので純粋にlong型で宣言し、自力で求めたメモリアドレスを代入してやる必要があるわけです。
バッファのアドレスを代入するのに、string型でOKの場合と、long型にするケースが混在すると、
開発者は混乱しかねません。ですので今回の構造体は、わかり易くするためにlong型で統一してみた
というわけです。
私なりの結論:
外部関数に渡す 1)引数,2)構造体のメンバは、string型に限り暗黙にポインタ変換されている
...でどうでしょうか?
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows NT 4.0
DBMS Oracle SQL*Net 8
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 8.0
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.