PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
20154 | 03/08/21 11:10:32 | RE(7):PB7.0: 実行ファイルのディレクトリの取得 By roichan2 |
20151 | 03/08/20 19:37:14 | RE(6):PB7.0: 実行ファイルのディレクトリの取得 By Taka |
20144 | 03/08/20 14:04:52 | RE(5):PB7.0: 実行ファイルのディレクトリの取得 By isii |
20141 | 03/08/20 12:06:12 | RE(4):PB7.0: 実行ファイルのディレクトリの取得 By roichan2 |
20140 | 03/08/20 11:32:36 | RE(3):PB7.0: 実行ファイルのディレクトリの取得 By isii |
20139 | 03/08/20 11:06:22 | RE(2):PB7.0: 実行ファイルのディレクトリの取得 By roichan2 |
20138 | 03/08/20 10:49:55 | RE(1):PB7.0: 実行ファイルのディレクトリの取得 By isii |
20137 | 03/08/20 09:56:13 | PB7.0: 実行ファイルのディレクトリの取得 By roichan2 |
カテゴリ:スクリプトの記述
日付:2003年08月21日 11:10 発信者:roichan2
題名:RE(7):PB7.0: 実行ファイルのディレクトリの取得
Takaさん、isiiさんこんにちは。
>roichan2さん、isiiさん、こんばんは。
>
>良くないです。
>ウィンドウのOpenイベントでthisを参照すると、それはウィンドウそのものになります。
>それをHandle()して得られるのは、ウィンドウのハンドルになります。
>これに対し、isiiさんが書いている方法は、あくまでもアプリケーションオブジェクトのハンドルを
>求めていますよね。この点が違うのでは?
>
>更に言うと、GetModuleFileName()の第1引数は、この場合でしたらゼロを与えて構いません。
>
>アプリケーションオブジェクトはPB独自のものであり、Windowsが認識できるハンドルを伴う
>オブジェクトではありません。
>よって、Handle(GetApplication()) の戻り値はゼロになっているはずです。
>
>追記:
>有効なウィンドウハンドルの値を使ってGetModuleFileName()すると、確かにエラーになるようです。
ずばり原因がわかりました。ありがとうございました。
まず最初に
>ウィンドウのOpenイベントでthisを参照すると、それはウィンドウそのものになります。
という点に気づき、
GetModuleFileNameA( Handle(app),FileName,lBuf)という記述に変えたところ、
思った様な動作をしてくれました。
その後、Takaさんの言われる様に、
GetModuleFileNameA(0,FileName,lBuf)と変えたところ、これも上にかいたのと
同じ動作をしてくれました。
お二人のおかげで、見事納得いく動作を得ることができました。
ありがとうございました。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows 2000
DBMS (記載なし)
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.