PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
8413 99/09/29 17:41:39 RE(6):PB6.5: EXEにすると「一般保護違反」になる、自己レス&結果報告 By ジュワッチ
8390 99/09/28 15:03:55 RE(5):PB6.5: EXEにすると「一般保護違反」になる By ジュワッチ
8386 99/09/28 14:23:24 RE(4):PB6.5: EXEにすると「一般保護違反」になる By こてちゅ
8385 99/09/28 14:23:30 RE(3):PB6.5: EXEにすると「一般保護違反」になる By M.M
8383 99/09/28 12:50:17 RE(2):PB6.5: EXEにすると「一般保護違反」になる By ジュワッチ
8382 99/09/28 12:31:48 RE(1):PB6.5: EXEにすると「一般保護違反」になる By M.M
8380 99/09/28 12:12:44 PB6.5: EXEにすると「一般保護違反」になる By ジュワッチ

カテゴリ:PowerBuilderの開発環境
日付:1999年09月29日 17:41 発信者:ジュワッチ
題名:RE(6):PB6.5: EXEにすると「一般保護違反」になる、自己レス&結果報告

M.Mさん、こてちゅさん、そしてみなさんこんにちは。

>えーとですね、RUN環境では正常に動くのに、EXEだと「一般保護違反」になります。
>WIN95の USER.EXE のところで出ます。

>そんなに特殊なことはやってないのですが、
>標準のトランザクション(SQLCA)以外にもう1つ別のトランザクション(USER_TRN)
>での COMMIT; RLLBACK;等で出るようです。

>・デバッカでsqlcode等を調べても正常です(RUN環境)
>・EXEは ####.PBDをリンクしています
>・ネイチィブDBインタフェース(pbo8460J.dll)やPB.INI等の
> 設定ファイルもEXEと同じホルダーに入れています
>・SQLCAのみならEXEでも正常に動きます

>お解りになるかた、いらっしゃいましたら教えて下さい

☆やっと解りました。

このエラーは、別トランザクションでの COMMIT; RLLBACK;等ではなく、
スクリプトでの同期によるものでした

SQLCAのみのEXEテストは別ルートで行ったので
正確なエラー(なんか変な言い回しですが)が出なかったようです
どうもすみませんでした (^^;

具体的には、以下にコマンドボタンのスクリプトを記述します

?入力したコードをチェックし正しければ別トランザクションで
 DBにセット(当初はここでエラーになっていると思い込んでいました)
    if(f_used_id_chk ( sle_cd.text ) = False)Then
       sle_cd.setfocus( )
       Return
    end if

?本画面の Window型インスタンス変数に、前の画面オブジェクトをセットし
 次画面を開く
    OpenWithParm(w_sys_menu, iw_prewin)

?本画面を閉じる
    Close(Parent)

RUN環境では ?,?,?の順で全然問題無かったのですが
EXE環境では ?でOpenした画面に前の画面オブジェクトが渡る前に
?の Close(Parent)が走ったようです。

回避策として?を以下の様にしたらEXE環境でも正常に動きました。
    Close(Parent) → Post Close(Parent)

う?ん、RUN環境とEXE環境で動きが違うのはやですねー! 


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows95
DBMS Oracle SQL*Net 8
Browser InternetExplorer4.X

Server SoftWare

OS (記載なし)
DBMS Oracle 8.0
WebServer (記載なし)

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