9.5.1 ワー ク スペースへ タ ーゲ ッ ト を追加
PowerBuilder 7 以前で構築 し た アプ リ ケーシ ョ ン を使用す る ワー ク ス ペース に タ ーゲ ッ ト を追加す る 場合は、 新規作成 ダ イ ア ロ グ ボ ッ ク ス の [ タ ーゲ ッ ト ] ページの既存のアプ リ ケーシ ョ ン タ ーゲ ッ ト ウ ィ ザー ド を使用 し ます。 ウ ィ ザー ド を終了 し た後に、 アプ リ ケー シ ョ ン を PowerBuilder 11 に移行で き る よ う にす る 現行バージ ョ ンに移 行 ダ イ ア ロ グ ボ ッ ク ス が開 き ます。 ワ ー ク スペース と タ ーゲ ッ ト を使 用す る 詳細については、 『ユーザーズ ガ イ ト』 マニ ュ アルの第 1 章を 参照 し て く だ さ い。
9.5.2 分散 PowerBuilder をサポー ト し ない
PowerBuilder 7 は、 分散 PowerBuilder 機能を組み込んだ PowerBuilder の最後のバージ ョ ン です。 Sybase は、PowerBuilder 7 以降では、 配布 用の分散 PowerBuilder のかわ り に EAServer と Web アプ リ ケーシ ョ ン を使用す る こ と を推奨 し てい ます。
ト ラ ン ス ポー ト オブジ ェ ク ト お よ びそれに関連す る プ ロ パテ ィ と メ ソ ッ ド は、PowerBuilder 8 以降でサポー ト し な く な り 、PowerBuilder 9 か ら 削除 さ れ ま し た。 分散 PowerBuilder で使用 さ れ、 そのためサポー
ト さ れな く な っ たほかのプ ロ パテ ィ と メ ソ ッ ド は、 以下の と お り で す。
• Application オブジ ェ ク ト の ConnectionBegin イ ベン ト と ConnectionEnd イ ベン ト
• Connection オブジ ェ ク ト のGetServerInfo 関数、
RemoteStopConnection 関数、RemoteStopListening 関数
• Proxy オブジ ェ ク ト の SetConnect 関数
• Connection オブジ ェ ク ト の ConnectString プ ロ パテ ィ と Trace プ ロ パテ ィ
• ConnectionInfo 構造体
JavaBeans プ ロ キ シお よ び Web.PB ジ ェ ネ レー タ も 、 分散 PowerBuilder アプ リ ケーシ ョ ン で使用 さ れてお り 、 新規作成 ダ イ ア ロ グボ ッ ク ス か ら 削除 さ れ ま し た。
9.5.3 予約語
例外処理を サポー ト す る ために PowerBuilder 8 で新 し い予約語を PowerScript 言語に追加 し ま し た。 既存のアプ リ ケーシ ョ ン の識別子 と
し て新 し い予約語 (TRY、CATCH、FINALLY、THROW、 お よ び THROWS) の う ちのいずれか を使用す る 場合は、 それ ら に一致 し ない 名前を付けて、 こ れ ら の識別子を変更 し なければな り ません。 新規作 成 ダ イ ア ロ グ ボ ッ ク ス の [ツール] タ ブページで利用で き る マ イ グ
レーシ ョ ン ア シ ス タ ン ト を実行 し て新 し い予約語の誤っ た使用を検 索で き ます。
9.5.4 SystemError イ ベン ト の変更
PowerBuilder 7 以前では、Error イ ベン ト や ExternalException イ ベン ト で捕捉で き ないエ ラ ーが発生 し た場合、 アプ リ ケーシ ョ ンの
SystemError イ ベン ト がただちに起動 さ れ ます。SystemError イ ベン ト に処理すべ き コ ー ド がない場合は、 アプ リ ケーシ ョ ンは終了 し ます。
それ以外の場合は、SystemError イ ベン ト 実行後、 エ ラ ーが発生 し た コ ー ド に制御が戻 り ます。
PowerBuilder 8 以降では、 例外処理 メ カ ニズ ムに よ っ て、 あ る いは Error イ ベン ト や ExternalException イ ベン ト で捕捉で き ないエ ラ ーが発 生 し た場合、 ス ク リ プ ト は終了 し 、 コ ール ス タ ッ ク が解放 さ れ ます。
ス ク リ プ ト 内の Triggerevent 呼び出 し の結果 と し てエ ラ ーが発生 し た 場合は、 呼び出 し を行っ た ス ク リ プ ト は終了 し 、 コ ール ス タ ッ ク が解 放 さ れ ます。 ほ と ん ど の場合、SystemError イ ベン ト は コ ール ス タ ッ
ク が空にな る ま で起動 さ れ ません。 レ ス ポ ン ス ウ ィ ン ド ウ の イ ベン ト がエ ラ ーを引 き 起 こ し た場合、SystemError イ ベン ト は レ ス ポ ン ス ウ ィ ン ド ウ イ ベン ト が終了す る と 直ちに起動 さ れ ます。
動作上の こ の変更のために、 エ ラ ー と な っ た ス テー ト メ ン ト に続 く コ ー ド は、 SystemError イ ベン ト の起動後は実行 さ れ ません (以前の
リ リ ース では実行 さ れ ま し た)。 こ の変更は、 エ ラ ーが発生 し た ス ク リ プ ト に制御を戻す と い う 以前の動作に依存 し てい る アプ リ ケーシ ョ ンに大 き な影響があ り ます。 こ の動作に依存 し てい る コ ー ド は、
PowerBuilder 8 以降で修正す る 必要があ り ます。
TRY/CATCH ブ ロ ッ ク でエ ラ ーが発生す る か も し れない コ ー ド を ラ ッ プ し て潜在的なエ ラ ーを処理す る こ と で、 実行時エ ラ ーが発生す る 時 にSystemError イ ベン ト が発生 し ない よ う にで き ます。 捕捉で き ない 例外を処理す る ために、SystemError イ ベン ト を記述す る のが望ま し いで し ょ う 。SystemError イ ベン ト が呼び出 さ れた後はアプ リ ケー シ ョ ン の実行を続けないで く だ さ い。 SystemError イ ベン ト では後処 理を行っ て、 アプ リ ケーシ ョ ン を中断 さ せ る よ う に し ます。
9.5.5 IsValid 関数の変更
IsValid 関数は、 現在 PowerObject 型に変換で き ない Any 型の引数を渡 さ れた場合に 「false」 を返 し ます。PowerBuilder 7 以前では、IsValid 関数に無効なオブジ ェ ク ト を渡す と シ ス テ ム エ ラ ーが発生 し ま し た。
前節のSystemError イ ベン ト の変更に も 注意 し て く だ さ い。
9.5.6 カ ラ ー オプ シ ョ ンの書式の変更
[デザ イ ン|オプシ ョ ン|オブジ ェ ク ト の色] を選択 し て、 デー タ ベース ペ イ ン タ かSQL Select ペ イ ン タ でグ ラ フ ィ カルなテーブルを表 示す る 各 コ ン ポーネ ン ト のカ ス タ ム カ ラ ーを指定で き ます。 こ こ で 指定 し た色は、PB.INI フ ァ イ ルの [Database] セ ク シ ョ ンに保存 さ れ ま す。 コ ン ト ロ ールで使用可能な Windows シ ス テ ム カ ラ ーお よ びカ ス タ ム カ ラ ーが増え た こ と をサポー ト す る ために、PowerBuilder 8 以降 で こ れ ら の色を保存す る 書式を変更 し ま し た。 以下は、 PowerBuilder 7 の PB.INI フ ァ イ ルのキーを表す行の色の定義例です。
ForeignKeyLineColor=0 0 255 IndexKeyLineColor=255 0 0 PrimaryKeyLineColor=0 128 0
以下は、PowerBuilder 8 以降の PB.INI フ ァ イ ルの上記に対応す る 項目 です。
ForeignKeyLineColor=16711680 IndexKeyLineColor=255
PrimaryKeyLineColor=32768
PowerBuilder 7 の PB.INI フ ァ イ ル、 ま たはその [Database] セ ク シ ョ ン を使用す る 場合、PowerBuilder 8 以降では最初に [Database] セ ク シ ョ ン の色の設定をすべて削除す る 必要があ り ます。 こ れを行わない場合 は、 使用 し た色は PowerBuilder 8 以降で読み取れないテーブルを作成 し ます。PowerBuilder 8 以降の DB 環境設定 ダ イ ア ロ グボ ッ ク ス の
[オブジ ェ ク ト の色] プ ロ パテ ィ シー ト のカ ス タ ム カ ラ ーを リ セ ッ ト で き ます。
9.5.7 Web デー タ ウ ィ ン ド ウの移行の問題
PowerBuilder 7.0.2 C3 よ り 前の リ リ ース で、Netscape レ ン ダ リ ン グの問 題に対応 し た場合、 それ以降の リ リ ース では Netscape レ ン ダ リ ン グが 改善 さ れたため正 し く 動作 し ない こ と があ り ます。
特に スペース のみを含む計算フ ィ ール ド やテ キ ス ト フ ィ ール ド を使 用 し てい る 場合、Web デー タ ウ ィ ン ド ウ ジ ェ ネ レー タ は こ れ ら の
フ ィ ール ド に対 し て table エ ン ト リ を作成 し 、 テーブルを 2 倍の幅に し て表示 し ます。 こ の よ う にな っ た場合は、 こ のプ レース ホルダの フ ィ ール ド を削除 し て、 標準の レ イ ア ウ ト を使用 し ます。
9.5.8 空の DataObject プ ロパテ ィ へのデー タ ウ ィ ン ド ウ メ ソ ッ ド の戻 り 値
PowerBuilder 8.0.2 以降では、 デー タ ウ ィ ン ド ウ コ ン ト ロ ールやデー タ ス ト アへデー タ ウ ィ ン ド ウ オブジ ェ ク ト が割 り 振 ら れていない時に 返 さ れ る 値は、 表 5 に記載 さ れてい る よ う に メ ソ ッ ド に対 し て標準化
さ れてい ます。 こ れ ら の戻 り 値のい く つかは、PowerBuilder 7以前の リ リ ース の戻 り 値 と は異な り ます。
表 5: デー タ ウ ィ ン ド ウ オブ ジ ェ ク ト が割 り 振 られていない と きの戻 り 値
メ ソ ッ ド 戻 り 値
AcceptText 1
DeleteRow -1
GetItemDate、GetItemDateTime、GetItemDecimal、 GetItemNumber、GetItemStatus、GetItemTime
null
GetItemString 空の文字列
InsertRow -1
Retrieve -1
SelectRow 1
Update 1
9.5.9 ScrollNextRow と ScrollPriorRow の動作の変更
PowerBuilder 8 以降では、 デー タ ウ ィ ン ド ウ メ ソ ッ ド の ScrollNextRow お よ び ScrollPriorRow は下記の順で イ ベン ト を発生 さ せます。
RowFocusChanging RowFocusChanged ItemFocusChanged ScrollVertical
PowerBuilder 7 以前では、 ScrollVerticalイ ベン ト が、 ほかの イ ベン ト の 引 き 金 と な っ てい ま し たが、 ScrollVertical イ ベン ト で こ れ ら の方法を 使用す る こ と はで き ません。 使用す る と 、 デー タ ウ ィ ン ド ウ の最後ま たは最初の行にた ど り 着 く ま で、 同 じ 一連の イ ベン ト が繰 り 返 し 発生 し ます。 [CR 323263]
9.5.10 OpenSheet 関数の動作を変更
PowerBuilder 8 以降では、OpenSheet 関数お よ び OpenSheetWithParm 関 数は、 処理失敗時に -1 を戻すかわ り に実行時エ ラ ーを送出 し てい ま し た。 例えば、 オプシ ョ ンの windowtype 引数が不正な場合に発生 し ま す。 確実に こ のエ ラ ーを捕 ら え る ために、 戻 り 値のチ ェ ッ ク に加え て try-catch 文で呼び出 し を囲みます。
integer li_ret try
li_ret = OpenSheet(w_child, "w_child_1", &
MDI_User, 2, Original!)
if li_ret <> 1 then MessageBox("OpenSheet 失敗", &
"引数のチ ェ ッ ク") catch (RuntimeError rt)
MessageBox("OpenSheet 失敗", rt.GetMessage() ) // 処理エ ラ ー
end try
[CR 303560]