PB 電子会議室
カテゴリ:PowerBuilderの開発環境
日付:2000年08月30日 13:27 発信者:Taka
題名:RE(1):PB6.5: win32 API関数 GetOpenFileName()の使用方法について
star6さん、こんにちは。
>現在、ファイル選択ダイアログボックスを開け、ファイルの複数選択を行えるようにしたいと考えています。
>PBが持っているGetFileOpenName関数では、複数選択が出来ないため、API関数を使用しようとしていますが、うまく
い
>きません。
>使用方法を教えてくださいっ!!
OPENFILENAME構造体の宣言に誤りがあると思います。
まず、WORD型はPBではinteger,それ以外はlongで宣言するようにします。
文字列関係のメンバには、ローカルで確保したstring変数のポインタを与えるようにしてください。
(ポインタへの変換はPBではできないので、lstrcatAなどのAPIを駆使します)
選択されたファイル名が返されるメンバについては、事前に十分なスペースを確保しておかなければなりません。
また、ここについては、stringへのポインタではなくblob変数のポインタになるかもしれません。
(複数選択ってことは、0x00でターミネートされる...んですよね? 違ってたらすみません)
構造体のサイズは、上記にもとづいて算出してください。
( 4 * long型のメンバ数 + 2 * int型のメンバ数)
いずれにしろ、GetOpenFileNameで複数選択を使うには、一筋縄では出来ないので厄介です。
追記:
そういえば、PBDSネタで「コモンダイアログ集」を作ろうプロジェクトが中断していたような...(汗)
付加情報:
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.