PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
15279 | 01/05/17 14:36:03 | RE(4):PB6.5: 関数の定義方法について By ませ |
15277 | 01/05/17 13:44:33 | RE(3):PB6.5: 関数の定義方法について By aki |
15272 | 01/05/17 12:18:45 | RE(2):PB6.5: 関数の定義方法について By M.M |
15271 | 01/05/17 12:08:36 | RE(1):PB6.5: 関数の定義方法について By こてちゅ |
15270 | 01/05/17 11:12:51 | PB6.5: 関数の定義方法について By ませ |
カテゴリ:スクリプトの記述
日付:2001年05月17日 13:44 発信者:aki
題名:RE(3):PB6.5: 関数の定義方法について
M.Mさん、こんにちは。
>記憶ベースの発言ですが、昔に読んだ技術資料で、PBのグローバル関数
>は実行時にメモりにロードされ、終了するとPBが自動で破棄
>するという記述がありました。
関数だけでなく、ウインドウペインターで定義したオブジェクトに関しても、
ウインドウのクローズに合わせて、暗黙処理で破棄してくれますね。
#VBも同じですよね。
>それに比べユーザオブジェクト関数は、ユーザオブジェクト
>に定義した全ての関数がメモリにロードされますし、また
>ユーザオブジェクトを破棄するまではメモリに残っています
>ので、メモリの占有量はおそらく増加します。
これが一番やっかいですよね、やっぱり。
明示的にDESTROYを宣言してあげないとホントにメモリを食って行きますモンね。
単体テストしていて、実装メモリを使い果たしたときは、大笑いしました。
あわてて、DESTROYを追加したことがあります(^^;
>しかし、最近のPCはデフォルトでメモリもかなり多いので、
>よほど巨大なユーザオブジェクトを作成しない限り、ユーザ
>オブジェクトでメモリが足りなくなるということはありえ
>ないとは思いますが。
自分では、NTでしかPBを使ってないのですが、Windows9x系のOSって、
結局のところ640KBのコンベンショナルメモリの壁は破れないのではないのですか?
破棄しなかったオブジェクトは、いったいメモリのどこに取り残されてしまうんでしょう?
で結局のところ、関数のボリューム(本数)と再利用性の頻度での兼ね合いじゃないでしょうか。
個人的には、15本ぐらいであれば、オブジェクト関数としてまとめなくてもイイのではないかぁ
と思ってしまうんですが、どうでしょう?
付加情報:
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.