PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
6827 | 99/06/16 16:44:06 | RE(4):PB5.0.03: 納得はいかないが解決。 By M.M |
6823 | 99/06/16 15:54:03 | RE(3):PB5.0.03: 納得はいかないが解決。 By 格の進 |
6804 | 99/06/16 11:50:58 | RE(2):PB5.0.03: 追加情報 By M.M |
6790 | 99/06/15 20:50:46 | RE(1):PB5.0.03: 追加情報 By 格の進 |
6784 | 99/06/15 15:29:36 | PB5.0.03: 動的にSQLを変更したDWをreset(),Retrieve()するとハングアップする。 By 格の進 |
カテゴリ:データウィンドウ
日付:1999年06月16日 11:50 発信者:M.M
題名:RE(2):PB5.0.03: 追加情報
格の進さん、こんにちは。
MLの方でコメント流しておきましたが、念のためこちらにもアップしておきます。
>コピーは str_1 = DW_1.object.data で行っています。
データウィンドウのバッファを構造体にコピーしているわけですね。
しかし!実際には構造体にデータが複写されているわけでなく、単に
構造体のポインタが複写されただけ(のハズ)です。
ですので、Retrieve関数とかReset関数を使ってデータウィンドウのバッファを
クリアしてしまうと、構造体の中身も壊れてしまい、後は野となれ山となれと
いう状態になってしまうと思われます。
Powerスクリプトって、内部的には極めてC言語に近いんですよ。
(だからPBのネィティブコンパイラも、一度Cのソースにしてからコンパイル
しているんです。)
対策としては、構造体にデータウィンドウのバッファを移すのではなく、
データストアオブジェクトを定義して、そこにRowsCopy関数あたりを使って
データの退避を行えば良いかと思います。(未検証ですが...)
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows95
DBMS Oracle SQL*Net 2.3
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.