PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
9756 00/01/04 20:20:42 RE(3):PB6.5: dirlistをユーザオブジェクトで行うとエラーになる By Taka
9736 00/01/04 09:48:11 RE(2):PB6.5: dirlistをユーザオブジェクトで行うとエラーになる By mimi2
9721 99/12/28 15:25:11 RE(1):PB6.5: dirlistをユーザオブジェクトで行うとエラーになる By Taka
9720 99/12/28 13:49:09 PB6.5: dirlistをユーザオブジェクトで行うとエラーになる By mimi2

カテゴリ:スクリプトの記述
日付:2000年01月04日 20:20 発信者:Taka
題名:RE(3):PB6.5: dirlistをユーザオブジェクトで行うとエラーになる

mimi2さん、こんばんは。

>OpenUserObjectで成功しました。
>ありがとうございます。

やはり DirList関数は、コントロールから見た親ウィンドウの認識が必要みたいですね。

>もうひとつ、質問なのですが
>Dirlistの関数の詳しい仕様をTakaさんはどのように調べられたのですか?

以前、私も同じようなことを実験していたのです。(^^;

 ListBox lb_x
 lb_x = CREATE ListBox
 lb_x.DirList( ... )
 *** 処理 ***
 DESTROY lb_x

このように書いてもダメだったので Win32APIの資料を調べていたら、PBのDirList関数と
似たような DlgDirList関数というのがあったので、その関数を呼び出してみました。
(とくに、現在のパスをテキスト表示できるあたり、まったく同じです)

でも、DlgDirListを使っても動的生成の場合はダメだったんです。
原因を調べているうちに、スクリプト内で動的に生成したコントロールは親ウィンドウを
認識していない、ということが判りました。

当時は非表示のコントロールをウィンドウに貼り付けておいて対処しました。
(OpenUserObjectは、メモリリークすると嫌なので使わなかったです)

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows NT 4.0
DBMS Oracle SQL*Net 8
Browser (記載なし)

Server SoftWare

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

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