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 (記載なし)

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