PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
3230 98/09/14 12:28:38 RE:RE:RE:汎用的なオブジェクトを集めたらおもしろいですね By てとらぽっと
3228 98/09/14 09:43:14 RE:RE:汎用的なオブジェクトを集めたらおもしろいですね By kin
3220 98/09/11 15:51:33 RE:汎用的なオブジェクトを集めたらおもしろいですね By あすかちゃんの父
3219 98/09/11 15:53:50 RE:汎用的なオブジェクトを集めたらおもしろいですね By あすかちゃんの父
3216 98/09/11 14:51:22 汎用的なオブジェクトを集めたらおもしろいですね By kin
3208 98/09/11 12:39:53 RE:RE:RE:ありがとうございました&サンプルのダウンロード By てとらぽっと
3205 98/09/11 12:28:09 RE:RE:ありがとうございました&サンプルのダウンロード By にしやん
3200 98/09/10 19:30:37 RE:ありがとうございました&サンプルのダウンロード By てとらぽっと
3190 98/09/09 19:00:04 RE:RE:RE:SHBrowseForFolderA の使い方 By kin
3187 98/09/09 17:40:26 RE:RE:SHBrowseForFolderA の使い方 By にしやん
3183 98/09/09 16:33:54 RE:SHBrowseForFolderA の使い方 By kin
3182 98/09/09 11:33:39 SHBrowseForFolderA の使い方 By にしやん
3174 98/09/08 17:27:56 RE:RE:フォルダを指定させる方法見つかりました By てとらぽっと
3168 98/09/08 14:07:02 RE:フォルダを指定させる方法見つかりました By Air Hawk
3167 98/09/08 13:04:39 フォルダを指定させる方法見つかりました By てとらぽっと

カテゴリ:旧電子会議室
日付:1998年09月09日 17:40 発信者:にしやん
題名:RE:RE:SHBrowseForFolderA の使い方

>にしやんさんこんにちは。
>コメントを読んで感動しました。すごいです。
>私もこの関数を使うのは無理だと思っていたので・・・
>みそは lstrcat() で変数のポインタを取るところですね。

そうです。(一般的な使い方ではありませんが)

VB関連のサイトに載っていたので真似てみました。
(どこだったか忘れたけど…)

検索エンジンを利用すればいろいろ調べられますよ。

>ところで逆に構造体の中のポインタから実体を取得する
>場合はどうしてます?
>よろしければご教授ください。

メモリ間コピーのAPIを利用して、PowerBuilder の変数領域に
取り込む方法があります。

例:Long 型のデータを取り込む

外部関数
SUBROUTINE MemMove(REF Any dst, UnsignedLong src, Long len) &
    LIBRARY \"KERNEL32.DLL\" ALIAS FOR \"RtlMoveMemory\"

スクリプト
Any a //データ取得用の一時的な変数
Long getdata //ここに結果を取得したい
UnsignedLong addr //アドレス

addr = ・・・ //目的のアドレスを取得
a = getdata //Any 型にキャスト
MemMove(a,addr,4) //指定アドレスから4バイトコピー(Long 型だから4バイト)
getdata = a //取得したデータを Long 型にキャストして取得


Any 型を使うのは、どんな型でも(構造体でも)取得でき、この外部関数を
多目的に利用できるからです。

Long だけなら REF Any dst のかわりに、REF Long dst とすると、
Any にキャストせずにいきなり MemMove(getdata,addr,4) とできる分楽です。
(他の型も同様)

Cの sizeof() のようなものが無いので、構造体のときなどは、
データのサイズを自力で求めなければならないのがめんどうです。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows95
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.