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

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