8. 移行の問題
8.3 PowerBuilder 8 から の移行
8.3.1 PBL の移行
PowerBuilder の以前のバージ ョ ン で作成 し た PBL を使用す る 場合は、
それ ら を PowerBuilder 9 に移行す る 必要があ り ます。PBL と PBT は、
移行す る 前にバ ッ ク ア ッ プ し て く だ さ い。
PowerBuilder 8 を使用 し て構築 し た PowerScript® タ ーゲ ッ ト を含む ワー ク スペース を開いた後に、 自動的に現行バージ ョ ン に移行 ダ イ ア ロ グボ ッ ク ス が開 く こ と があ り ます。 開いた ワー ク スペース にそ う い っ た PBL を含む PBT を追加 し た り 、 PowerBuilder の以前のバージ ョ ン で構築 し た PBL を タ ーゲ ッ ト の ラ イ ブ ラ リ リ ス ト に追加 し た り で き ます。 現行バージ ョ ンに移行 ダ イ ア ロ グボ ッ ク ス が自動的に開か ない場合は、 シ ス テ ム ツ リ ーで PowerBuilder の以前のバージ ョ ン を使 用 し て作成 し た PBL を含む タ ーゲ ッ ト を選択 し 、 ポ ッ プア ッ プ メ ニ ュ ーか ら [移行] を選択 し ます。
8.3.2 Web タ ーゲ ッ ト の移行
PowerBuilder 8 で作成 し た Web デー タ ウ ィ ン ド ウ を使用す る Web タ ー ゲ ッ ト は、 HTMLGenerator80 コ ン ポーネ ン ト ではな く
HTMLGenerator90 コ ン ポーネ ン ト を使用す る よ う に変更す る 必要があ り ます。 Web デー タ ウ ィ ン ド ウ を使用 し ない PowerBuilder 8 の Web タ ーゲ ッ ト は、 変更 し な く て も PowerBuilder 9 で開いて配布す る こ と がで き ます。 念のために予め タ ーゲ ッ ト デ ィ レ ク ト リ のバ ッ ク ア ッ プ コ ピーを作成 し ておいて く だ さ い。
8.3.3 PSR フ ァ イルの書式の変更
PowerBuilder で作成 さ れた PSR フ ァ イ ルの書式は、SaveAsAscii 関数に 関す る デー タ の整合性を強化す る ために変更 さ れ ま し た。 その結果、
PowerBuilder の新 し い ビル ド で作成 さ れた PSR フ ァ イ ルは、 こ の変更 を行 う 前の ビル ド では開 く こ と はで き ません。 こ の変更は、
PowerBuilder 8.0 build 7063 と PowerBuilder 7.0.3 build 10102 で行われ ま し た。
8.3.4 ソ ース コ ー ド 管理の変更
PowerBuilder 8 で、 外部 SCC 準拠の ソ ース管理シ ス テ ムへの直接的な 接続を提供 し 、PowerBuilder 9.0 で さ ら に変更 し ま し た。
PowerBuilder 8 以前の ソ ース管理プ ロ ジ ェ ク ト を PowerBuilder 9 へ移行 す る 前に、PowerBuilder の 『ユーザーズガ イ ド』 マニ ュ アルの ソ ース 管理 コ ン ト ロ ールの章をお読み く だ さ い。
8.3.5 PBNative ソ ース管理の登録
PowerBuilder 8 と 同 じ マシ ン に PowerBuilder 9 を イ ン ス ト ールす る と 、 PowerBuilder の両バージ ョ ン で使用 さ れ る PBNative ソ ース管理の レ ジ ス ト リ 項目が変更 さ れ ます。 以降 PowerBuilder 8 は PowerBuilder 9 用 の PBNative DLL を使用 し ます。 コ マ ン ド プ ロ ン プ ト で
Sybase¥Shared¥PowerBuilder デ ィ レ ク ト リ に移動 し 、 コ マ ン ド REGSVR32 PBNAT80J.DLL を入力 し て、PowerBuilder 8 用の PBNative DLL を登録で き ます。
こ れは、 PowerBuilder 9 用の PBNative DLL を変更す る こ と に も な り ま す。 見分け る 唯一の方法は、 チ ェ ッ ク イ ン後に ラ イ ブ ラ リ ペ イ ン タ
リ ス ト ビ ュ ーで SCC リ ビ ジ ョ ン番号が正確に イ ン ク リ メ ン ト さ れな い こ と 、 非同期の ス テー タ ス を得 る のに時間がかか る こ と です。 コ マ ン ド REGSVR32 PBNAT90J.DLL を入力 し て、PowerBuilder 9.0 用の正 し い PBNative DLL を再登録で き ます。
PowerBuilder 9 を イ ン ス ト ール し たマシ ン か ら PowerBuilder 8 を ア ン イ ン ス ト ールす る と 、 ア ン イ ン ス ト ール時に PBNative レ ジ ス ト リ エ ン
ト リ が削除 さ れ ます。 その後 PowerBuilder 9 でPBNative ソ ース管理を 使用 し たい場合は、 前述 し た よ う に PBNAT90J.DLLを再登録す る 必 要があ り ます。 PowerBuilder 9 のア ン イ ン ス ト ール時には、
PBNAT90J.DLL や PBNative ソ ース管理用の レ ジ ス ト リ 項目は削除さ れ ません 。 [CR 305789]
8.3.6 ScrollToRow の動作を変更
ScrollToRow メ ソ ッ ド は、 RowFocusChanging イ ベン ト と
RowFocusChanged イ ベン ト を発生 さ せます。 PowerBuilder 7 では、 両 イ ベン ト 共に フ ォ ーカ ス が新 し い行に移動 し た後に発生 し てい ま し た。PowerBuilder 9 では、 こ の動 き を変更 し て、 RowFocusChanging で ス ク ロ ールを取 り やめ る こ と がで き る よ う に し ま し た。 し か し こ の変 更に よ り 、 フ ォーカ ス が新 し い行に移動す る 前に両方の イ ベン ト が発 生す る よ う にな っ て し ま い ま し た。PowerBuilder 9.0.1 Build 7136 以降 では、RowFocusChanging イ ベン ト は ス ク ロ ール前に発生 し 、
RowFocusChanged イ ベン ト は ス ク ロ ール後に発生す る よ う にな り ま し た。 [CR 345104]
8.3.7 Match 関数の仕様変更
PowerBuilder 8.0.1 お よ び以前のバージ ョ ン では Match で も 文字単位で 日本語の処理を行っ てい ま し たが、PowerBuilder 8.0.2 か ら バ イ ト 単位 で処理す る よ う 仕様が変更にな り ま し た。 日本語が含まれ る 文字列に Match を使用す る と 、 日本語の中に、 半角で一致す る 文字が含ま れて いた場合 も マ ッ チ し ます。 た と えば Match で検索条件を 「C」 (Ascii-Hex:0x43) と し た場合、 検索対象のデー タ に 「気」 (Ascii-Hex:0x8b43)
や 「 イ 」 (Ascii-Hex:0x8343) が含ま れてい る と 文字パ タ ーン が一致 し てい る と みな さ れ ます (0x43で一致)。 日本語が含まれ る 文字列を文 字列単位で処理を行いたい場合は、MatchW を使用す る 必要があ り ま す。 [10198]
8.3.8 エデ ィ ッ ト マス ク および表示書式の仕様変更
PowerBuilder 7.0.3 C2 / 8.0.1 以降のエデ ィ ッ ト マ ス ク お よ び表示書式で は数値のエデ ィ ッ ト マ ス ク お よ び数値表示書式の仕様変更が行われ ま し た。 こ の仕様変更に よ り 、 数値のマ ス ク で # が指定 さ れてい る 場 合、 ゼ ロ 抑制が さ れな く な る 場合があ り ます。
使用す る マ ス ク に よ っ て、123 の値が ど の よ う に表示 さ れ る か を以下 に示 し ます。
表 1: エデ ィ ッ ト マス ク によ る表示例
エデ ィ ッ ト マ ス ク では文字を囲む単引用符はマ ス ク に指定で き ませ ん。
エデ ィ ッ ト マス ク 表示 説明
#,##0 123 ゼ ロ 抑制が行われ ます。
a#,##0 a0,123 文字があ る ためゼ ロ 抑制が行わ
れ ません。
#,##0 jpy 0,123 jpy 文字があ る ためゼ ロ 抑制が行わ
れ ません。
\a#,##0 \a0,123 a は特殊文字 と な ら ず、 ゼ ロ 抑制は 行われません。
\ あ#,##0 \ あ0,123 全角は特殊文字 と な ら ず、 ゼ ロ
抑制が行われ ません。
表 2: 文字を囲む単引用符の注意事項
PowerBuilder 6.0 ~ 7.0.3 ま では上記のケースすべてにおいてゼ ロ 抑制 が行われ ます。 こ の仕様変更は海外で 「その ま ま表示 さ せたい文字
(AS IS)」 の表示の変更の要望に よ っ て行われ ま し た。
8.3.9 デー タ ウ ィ ン ド ウ オブ ジ ェ ク ト のカ ラ ムの [大文字小文字の区別] プ ロパテ ィ
PowerBuilder 8.0 お よ びそれ以前のバージ ョ ン では、 デー タ ウ ィ ン ドウ オブジ ェ ク ト のカ ラ ムの [大文字小文字の区別] プ ロ パテ ィ は全角 英字を処理の対象に し てい ませんで し たが、PowerBuilder 9.0.1 か ら は 全角英字 も 処理の対象 と な り ます。 こ の仕様変更に よ り 、 デー タ ウ ィ ン ド ウ ペ イ ン タ でカ ラ ムの名前を全角英字で指定 し た場合、 大文字の カ ラ ム名 と し て作成 さ れ ます (全角英字小文字のカ ラ ム名は作成で き ません)。
表示書式 表示 説明
#,##0'ページ' 123ページ 単引用符付 き の文字のためゼ ロ 抑制
が行われ ます。
#,##0 'ページ' 123 ページ 単引用符付 き の文字のためゼ ロ 抑制
が行われ ます。
#,##0ページ 0,123ページ 単引用符な し の文字のためゼ ロ 抑制
が行われ ません。
\a#,##0 a123 a が特殊文字 と し て扱われ、 ゼ ロ 抑制が 行われます。
\ あ#,##0 \ あ0,123 全角は特殊文字 と な ら ず、 ゼ ロ 抑制が 行われません。
表 3: [大文字小文字の区別] プ ロ パテ ィ の設定例
8.3.10 コ ン ト ロールの [大文字 / 小文字] プ ロパテ ィ
PowerBuilder 8.0 お よ びそれ以前のバージ ョ ン では入力可能な コ ン ト ロ ールの [大文字/小文字] プ ロ パテ ィ は全角英字を処理の対象に し てい ませんで し たが、 PowerBuilder 9.0.1 か ら は全角英字 も 処理の対象
と な り ます。
表 4: [大文字/小文字] プ ロ パテ ィ の設定例
8.3.11 デー タ ウ ィ ン ド ウ カ ラ ムの IME オ フ固定
IMESetMode関数を使用 し てデー タ ウ ィ ン ド ウ のカ ラ ム を オ フ固定に す る こ と はで き ません。 デー タ ウ ィ ン ド ウ のカ ラ ム を オ フ固定にす る には、 カ ラ ム のプ ロ パテ ィ を設定す る か、 Modify関数を使用 し て く だ さ い。
例) dw_1.Modify("col_1.Edit.IMEMode = 3")
設定 入力 表示
大文字 A A
a A
小文字 A a
a a
区別 し ない A A
a a
設定 入力 表示
upper! A A
a A
lower! A a
a a
anycase! A A
a a