PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
11382 | 00/05/23 11:56:36 | RE(5):PB6.5: メモリ解放についての質問 By M.M |
11372 | 00/05/22 23:17:55 | RE(4):PB6.5: メモリ解放についての質問 By TOHRU |
11347 | 00/05/22 00:48:10 | RE(3):PB6.5: メモリ解放についての質問 By M.M |
11346 | 00/05/21 21:14:29 | RE(2):PB6.5: メモリ解放についての質問 By TOHRU |
11343 | 00/05/20 14:09:01 | RE(1):PB6.5: メモリ解放についての質問 By M.M |
11342 | 00/05/20 12:24:05 | PB6.5: メモリ解放についての質問 By TOHRU |
カテゴリ:スクリプトの記述
日付:2000年05月20日 12:24 発信者:TOHRU
題名:PB6.5: メモリ解放についての質問
皆さん、こんばんは。
今、私は売上データのCSVファイルをインポートするプログラムを作成しているのですが、困ったことにイ
ンポート件数が増えるにつれてメモリ使用量が逓増していって最終的にメモリ不足でアプリが強制終了してし
まいます。
インポートプログラムでどういう流れで処理を行っているかを大ざっぱに説明すると・・・
1.ファイルを開く
2.データウィンドウのリセットと行を挿入
dw_header.reset()
dw_header.trigger event pfc_addrow()
3.配列を(\"\")でクリアしてファイルからテキスト1行分読み込んで各項目の値を配列に格納する。
4.3.で格納した値を各データウィンドウにsetitemする。
dw_detail.setitem(Row,\"ds_shocd\",Den[ll_Row,1])
5.データウィンドウの値をデータベースへ登録
this.trigger event pfc_save()
6.ファイルの最後まで2?5を繰り返す
7.ファイルを閉じて終了。
インポートしている間には他に書き込めなかったデータを別ファイルに書き出しだり計算処理も行っています
。
PBのヘルプを参照してみると「オブジェクトのインスタンスを破棄して、そのメモリを解放する必要があり
ます。」と書いてあってその手段として「close」「destroy」の2つが挙げられていましたがcloseだとウィン
ドウそのものが閉じられてしまいますし・・・
一体このケースだとメモリを解放していない原因は何になるのでしょうか?(私は消去法ですが原因はデータ
ウィンドウなのかなぁ!?とは思っているのですがあまりよくわかっていない状態です)
もし皆さんだったらどういうスクリプトを記述してメモリを解放させますか??
不足している情報がありましたら指摘していただければと思います。
初心者の基本的な質問で申し訳ありませんがよろしくお願いいたします。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows NT 4.0
DBMS Microsoft SQL Server Client 6.5
Browser Netscape4.X
Server SoftWare
OS (記載なし)
DBMS Microsoft SQL Server 6.5
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.