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

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