PowerBuilder 9 の新機能

第 1 章
PowerBuilder 9 の新機能
本書では、 以下の機能について説明 し ます。
•
データ ウ ィ ン ド ウ での XML のサポート
•
PowerBuilder ド キ ュ メ ン ト オブジ ェ ク ト モデル
•
PowerBuilder ネイ テ ィ ブ イ ン タ フ ェ ース
•
JSP タ ーゲッ ト
•
JSP ク ラ イ ア ン ト の Web サービ ス
•
Windows ク ラ イ ア ン ト の Web サービ ス
•
サード パーテ ィ 製ア プリ ケ ーシ ョ ン サーバの EJB ク ラ イ ア
ント
•
XML と CSV のイ ン ポート と 保存
•
PDF と XSL-FO 形式での保存
•
OrcaScript 言語
•
PowerBuilder ラ ン タ イ ム パッ ケ ージャ
•
PowerBuilder リ ソ ース モニタ
•
ソ ース 管理の機能拡張
•
データ ウ ィ ン ド ウ の機能拡張
•
PowerScript の機能拡張
•
デバッ ガの機能拡張
•
データ ベース 接続の機能拡張
•
そのほかの機能拡張
1
デー タ ウ ィ ン ド ウでの XML のサポー ト
デー タ ウ ィ ン ド ウでの XML のサポー ト
解説
PowerBuilder では、 XML テ ン プ レー ト オブジ ェ ク ト を使用 し て、 デー
タ ス ト ア と デー タ ウ ィ ン ド ウ オブジ ェ ク ト で XML を エ ク ス ポー ト や
イ ン ポー ト す る こ と がで き ま す。 エ ク ス ポー ト や イ ン ポー ト す る ため
の XML テ ン プ レー ト は、 XML のテ ン プ レー ト のエ ク ス ポー ト / イ ン
ポー ト ビ ュ ーでグ ラ フ ィ カルに作成 し ます。 作成 し た各テ ン プ レー ト
は、 デー タ ウ ィ ン ド ウ オ ブ ジ ェ ク ト に カ プ セル化 さ れ ま す。 テ ン プ
レー ト を使用す る と 、XML ド キ ュ メ ン ト のルー ト 要素内で行デー タ を
繰 り 返す際の XML 論理構造を指定で き ます。
使い方
デー タ ウ ィ ン ド ウ オブジ ェ ク ト を新規作成す る場合、 テ ン プ レー ト の
エ ク ス ポー ト / イ ン ポー ト ビ ュ ーにデフ ォ ル ト のテ ンプ レー ト が表示
さ れ ま す。 デ フ ォ ル ト の テ ン プ レ ー ト には、 デー タ ウ ィ ン ド ウ オブ
ジ ェ ク ト の各カ ラ ム に 1 つの要素が含まれてい ます。
XML エ ク ス ポー ト テ ン プ レー ト を使用す る と 、生成す る XML を カ ス
タ マ イ ズで き ます。 ルー ト 要素内で反復 さ れ る デー タ ウ ィ ン ド ウ の行
デー タ の論理構造 と ネ ス ト レベルを指定す る だけでな く 、 エ ク ス ポー
ト す る XML のルー ト 要素の前に、オプシ ョ ン の XML お よ び文書型宣
言を指定す る こ と も で き ま す。 ルー ト 要素の子要素には、 行デー タ の
ほかに、 要素、 文字参照、 お よ び処理命令を含め る こ と がで き ます。 エ
ク ス ポー ト す る XML を異な る アプ リ ケーシ ョ ンやプ ロ セ ス で使用す
る 場合は、 用途別にエ ク ス ポー ト テ ンプ レー ト を定義で き ます。
PSR や HTML な ど のほかの形式へのエ ク ス ポー ト に使用 さ れて い る
手法を使っ て、 デー タ ウ ィ ン ド ウ やデー タ ス ト ア オブジ ェ ク ト のデー
タ を XML にエ ク ス ポー ト で き ます。
2
第1章
•
PowerBuilder 9 の新機能
SaveAs メ ソ ッ ド を使用す る
ds_1.SaveAs("C:¥TEMP¥Temp.xml", XML!, TRUE)
•
PowerScript ド ッ ト 表記ま たは Describe メ ソ ッ ド を使用す る
ls_xmlstring = dw_1.Object.DataWindow.Data.XML
ls_xmlstring = dw_1.Describe(DataWindow.Data.XML)
•
Preview ビ ュ ーが開いてい る と き に、デー タ ウ ィ ン ド ウ ペ イ ン タ で
[名前を付けて行を保存] メ ニ ュ ー項目を使用す る 。 こ の メ ニ ュ ー
を設計時に使用す る と 、実行時に生成 さ れ る XML をプ レ ビ ューで
きる
デー タ ウ ィ ン ド ウ ペ イ ン タ の [行| イ ン ポー ト ] メ ニ ュ ー項目、 ま た
は ImportFile、ImportString、お よ び ImportClipboard 関数を使用す る と 、XML
テ ン プ レー ト を使用 し て も し な く て も 、XML ド キ ュ メ ン ト か ら デー タ
を イ ン ポー ト で き ま す。 デー タ ウ ィ ン ド ウ のカ ラ ム定義 と 一致 し ない
デー タ 、 ま たは ス キーマに関連付け ら れてい る デー タ を イ ン ポー ト す
る 場合、 ま た は属性値 を イ ン ポー ト す る 場合は、 イ ン ポー ト テ ン プ
レー ト を作成す る 必要があ り ます。 イ ン ポー ト では、 要素名 と 属性名
に対す る カ ラ ム名のマ ッ ピ ン グのみが使用 さ れ ま す。 それ以外のテ ン
プ レー ト の情報は無視 さ れます。
詳細情報
『PowerBuilder ユーザーズ ガ イ ド 』 マニ ュ アルの 「XML デー タ のエ ク
ス ポー ト と イ ン ポー ト 」 を参照 し て く だ さ い。
PowerBuilder ド キ ュ メ ン ト オブ ジ ェ ク ト モデル
解説
PBDOM は PowerBuilder に実装 さ れてい る ド キ ュ メ ン ト オブジ ェ ク ト
モデル (DOM : Document Object Model) であ り 、 XML ド キ ュ メ ン ト に
ア ク セ ス し て操作す る 方法 を定義す る プ ロ グ ラ ミ ン グ イ ン タ フ ェ ー
ス です。
PowerBuilder Enterprise エデ ィ シ ョ ンのみ
こ の機能は、 PowerBuilder の Desktop エデ ィ シ ョ ン では使用で き ま せ
ん。
3
PowerBuilder ネ イ テ ィ ブ イ ン タ フ ェ ース
使い方
PBDOM は World Wide Web Consortium (W3C) DOM API の実装ではあ
り ま せんが、 き わめて類似 し てい ま す。 PBDOM PowerBuilder API は、
PowerScript コ ー ド 内か ら 標準形式の XML を読み取 り 、 書 き 込み、 お
よ び操作を行 う と き に使用で き ます。 PBDOM では XML ド キ ュ メ ン ト
を相互に関連 し 合っ たオブジ ェ ク ト の集ま り と し て表 し 、 各オブジ ェ
ク ト の使用法 と 機能を直感的に示す メ ソ ッ ド を提供 し ます。
PBDOM は、 XML フ ァ イ ルの Java ベース の ド キ ュ メ ン ト オブジ ェ ク
ト モデルであ る JDOM に も 類似 し てい ます。
PBDOM を使用す る と 、アプ リ ケーシ ョ ン が既存の XML ド キ ュ メ ン ト
を解析 し 、 ビ ジネ ス プ ロ セ ス の一部 と し て含ま れてい る 情報や、 外部
要求への応答内に含 ま れ て い る 情報 を 抽出す る こ と が で き ま す。 ま
た、 ほかのアプ リ ケーシ ョ ン、 プ ロ セ ス、 ま たはシ ス テ ム で必要な タ
イ プや ス キーマに適合す る XML ド キ ュ メ ン ト を、 アプ リ ケーシ ョ ン
で作成す る こ と も で き ま す。 XML 文字列を直接編集す る のではな く 、
オブ ジ ェ ク ト の PBDOM ツ リ ーを操作 ま たは変換す る こ と に よ っ て、
既存の XML ド キ ュ メ ン ト の読み込み と 変更を実行で き ます。
多層アプ リ ケーシ ョ ン で使用 し た り 、 Web サービ ス の一部 と し て使用
す る ために、XML ド キ ュ メ ン ト を作成ま たは処理で き る コ ン ポーネ ン
ト を作成す る こ と も で き ます。
詳細情報
『アプ リ ケーシ ョ ン テ ク ニ ッ ク 』 マニ ュ アルの「PowerBuilder XML サー
ビ ス の使い方」 と 『PowerBuilder エ ク ス テ ン シ ョ ン リ フ ァ レ ン ス』 の
「PowerBuilder ド キ ュ メ ン ト オブジ ェ ク ト モデル」 を参照 し て く だ さ
い。
PowerBuilder ネ イ テ ィ ブ イ ン タ フ ェ ース
解説
4
PowerBuilder ネ イ テ ィ ブ イ ン タ フ ェ ー ス (PBNI : PowerBuilder Native
Interface) は、 開発者が PowerBuilder の機能を拡張で き る よ う にす る 標
準 の プ ロ グ ラ ミ ン グ イ ン タ フ ェ ー ス で す。 PBNI を 使用 す る と 、
PowerBuilder のエ ク ス テ ン シ ョ ン (非ビ ジ ュ アル、 ビ ジ ュ アル、 お よ
びマーシ ャ ラ エ ク ス テ ン シ ョ ン) を作成 し て、 PowerBuilder 仮想マシ
ン (PBVM) を C++ ア プ リ ケ ー シ ョ ン に埋 め込む こ と が で き ま す。
PBVM は、 JNI を介 し て Java アプ リ ケーシ ョ ンにア ク セ スす る こ と も
で き ます。
第1章
PowerBuilder 9 の新機能
PowerBuilder Enterprise エデ ィ シ ョ ンのみ
こ の機能は、 PowerBuilder の Desktop エデ ィ シ ョ ン では使用で き ま せ
ん。
使い方
PowerBuilder エ ク ス テ ン シ ョ ン で も っ と も 頻繁に使用 さ れ る タ イ プ
は、 非 ビ ジ ュ アル エ ク ス テ ン シ ョ ン です。 非 ビ ジ ュ アル エ ク ス テ ン
シ ョ ンは、 外部オブジ ェ ク ト を操作す る と き に、 ス ク リ プ ト で関数を
宣言す る と い う 既存の ソ リ ュ ーシ ョ ン よ り 柔軟に PowerBuilder か ら C
と C++ 関数を呼び出 し て、 オブジ ェ ク ト 指向テ ク ニ ッ ク を使用す る 方
法を提供 し ます。
非ビ ジ ュ アル エ ク ス テ ン シ ョ ン を使用す る と 、 PowerBuilder の標準の
デー タ 型にマ ッ プ さ れないデー タ 型を使用で き る よ う にな り ま す。 ネ
イ テ ィ ブ ク ラ ス の メ ソ ッ ド を呼び出す と き に PowerBuilder デー タ 型を
使用で き る よ う に、PBNI には PowerBuilder デー タ 型にマ ッ プ さ れ る 定
義済みデー タ 型が用意 さ れてお り 、 ネ イ テ ィ ブ ク ラ ス ではその定義済
みデー タ 型を使用 し て PowerBuilder に コ ール バ ッ ク す る こ と がで き ま
す。
ネ イ テ ィ ブ ク ラ ス は、 C++ コ ー ド か ら PBVM に コ ール バ ッ ク し 、
PowerBuilder イ ベン ト を発生 さ せて、 関数を呼び出す こ と がで き ます。
ま た、 コ ールバ ッ ク 関数を要求す る 外部関数を呼び出す こ と も で き ま
す。 た と えば、PowerBuilder アプ リ ケーシ ョ ン で SAX XML パーサであ
る エ ク ス テ ン シ ョ ン を使用す る と 、その SAX パーサは、解析中の XML
ド キ ュ メ ン ト で検出 さ れた項目に関す る 情報 を PowerBuilder ア プ リ
ケーシ ョ ン に送 り 返す こ と がで き ま す。 PowerBuilder ア プ リ ケーシ ョ
ンは、 こ れ ら の項目の処理方法に関す る 指示を送 り 返 し て、 こ れに応
答で き ます。
ビ ジ ュ アル エ ク ス テ ン シ ョ ンは、ウ ィ ン ド ウ やほかのビ ジ ュ アル コ ン
ト ロ ールに配置 し て、 PowerBuilder ビ ジ ュ アル ユーザ オブジ ェ ク ト の
よ う に使用で き ます。 ビ ジ ュ アル エ ク ス テ ン シ ョ ン を使用す る と 、 ア
プ リ ケーシ ョ ン で最新の 「ル ッ ク ア ン ド フ ィ ール」 を使用で き る よ う
に、 ビ ジ ュ アル コ ン ポーネ ン ト の Windows プ ロ シージ ャ (winproc) を
サブ ク ラ ス化す る こ と がで き ます。
マーシ ャ ラ エ ク ス テ ン シ ョ ンは、 PowerBuilder と ほかの コ ン ポーネ ン
ト (Enterprise JavaBeans (EJB) コ ン ポ ー ネ ン ト 、 Java ク ラ ス、 Web
サービ ス、 CORBA コ ン ポーネ ン ト な ど) と の間のブ リ ッ ジ と し て動
作 し ます。 PowerBuilder では、 J2EE 準拠アプ リ ケーシ ョ ン サーバで実
行 さ れ る EJB コ ン ポーネ ン ト の ク ラ イ ア ン ト を 作成す る マーシ ャ ラ
エ ク ス テ ン シ ョ ン を提供 し てい ます。
5
JSP タ ーゲ ッ ト
PBVM で動作 し てい る カ ス タ ム ク ラ ス ユーザ オブジ ェ ク ト に直接ア
ク セ ス し 、 デー タ のア ク セ ス と 交換用の PBNI 関数を使用す る と き に
は、 C++ アプ リ ケーシ ョ ン に PBVM を ロ ー ド し 、 セ ッ シ ョ ン を作成 し
て、 外部アプ リ ケーシ ョ ン か ら カ ス タ ム ク ラ ス ユーザ オブジ ェ ク ト
の関数を呼び出す こ と がで き ます。
PowerBuilder か ら Java ク ラ ス を呼び出す と き には、Java Native Interface
(JNI) を介 し て Java メ ソ ッ ド を呼び出すマーシ ャ ラ エ ク ス テ ン シ ョ ン
を作成で き ます。 ま た、JNI を使用す る と 、C ま たは C++ を介 し て Java
が PowerBuilder を呼び出す こ と も で き ます。
詳細情報
『PowerBuilder ネ イ テ ィ ブ イ ン タ フ ェ ース プ ロ グ ラ マーズ ガ イ ド と リ
フ ァ レ ン ス』 マニ ュ アル、 ま たは PowerBuilder 9.0¥SDK¥PBNI デ ィ レ
ク ト リ の pbni90.hlp フ ァ イ ルを参照 し て く だ さ い。
JSP タ ーゲ ッ ト
解説
JSP オーサ リ ン グ用の開発環境は使いやす く 、 大部分の開発作業が自
動化 さ れ、 Web アプ リ ケーシ ョ ン を JSP 1.2 対応サーバに配布す る こ
と がで き ます。 JSP オブジ ェ ク ト モデルは、 PowerDynamo アプ リ ケー
シ ョ ン用の 4GL イ ベン ト モデル エ ク ス テ ン シ ョ ン を含む、
PowerDynamo お よ び ASP Web タ ーゲ ッ ト で使用で き る サーバサ イ ド
機能を、 わずかな変更を加え て複製 し ます。
PowerBuilder Enterprise エデ ィ シ ョ ンのみ
こ の機能は、 PowerBuilder の Desktop エデ ィ シ ョ ン では使用で き ま せ
ん。
使い方
PowerDynamo Web サ イ ト ウ ィ ザー ド と 同様に、 JSP Web タ ーゲ ッ ト
ウ ィ ザー ド では Source お よ び Build フ ォ ルダ と 配布構成 を 持つ タ ー
ゲ ッ ト が作成 さ れます。 JSP ページは、 Web Archive (WAR) フ ァ イ ル
の Web アプ リ ケーシ ョ ン と し て配布 さ れ ます。
PowerDynamo や ASP に配布す る Web ページに追加で き る 、 標準的な
HTML 要素、 コ ン ト ロ ール、 お よ び ク ラ イ ア ン ト サ イ ド ス ク リ プ ト
は、 JSP ページで も 使用で き ます。 さ ら に、 次の JSP 固有の要素を開発
環境で使用 し て、 JSP Web ページ を編集す る こ と も で き ます。
6
•
JSP ア ク シ ョ ン
•
指示子
第1章
詳細情報
•
JSP ス ク リ プ ト 要素
•
カスタム タグ
•
JSP Web サービ ス
PowerBuilder 9 の新機能
『Web タ ーゲ ッ ト と JSP タ ーゲ ッ ト での作業』 マニ ュ アルの 「JSP タ ー
ゲ ッ ト での作業」 を参照 し て く だ さ い。
JSP ク ラ イ ア ン ト の Web サービ ス
解説
Web サービ ス用のカ ス タ ム タ グ を生成す る と 、 JSP ページで Web サー
ビ ス を使用で き ます。 PowerBuilder には、JSP で Web サービ ス を呼び出
す際に必要な情報を 含むカ ス タ ム タ グ を作成す る ウ ィ ザー ド が用意
さ れてい ます。
PowerBuilder Enterprise エデ ィ シ ョ ンのみ
こ の機能は、 PowerBuilder の Desktop エデ ィ シ ョ ン では使用で き ま せ
ん。
使い方
ウ ィ ザー ド では、 Web Services Description Language (WSDL) フ ァ イ ル
の場所、 サービ ス、 お よ びポー ト な ど の情報が収集 さ れ ま す。 カ ス タ
ム ビーン名、 Java ク ラ ス名、 Java パ ッ ケージ名、 TLD 名、 JAR 名、 出
力変数、 お よ びサービ ス内での操作の選択に関 し て、 WSDL フ ァ イ ル
への上書 き を指定で き ます。 TLD フ ァ イ ル、 カ ス タ ム タ グ を処理す る
Java ソ ース、お よ びその ソ ース を コ ンパ イ ル し た Java ク ラ ス フ ァ イ ル
が ウ ィ ザー ド で作成 さ れます。
詳細情報
『Web タ ーゲ ッ ト と JSP タ ーゲ ッ ト での作業』 マニ ュ アルの 「Web サー
ビ ス用のカ ス タ ム タ グ」 を参照 し て く だ さ い。
7
Windows ク ラ イ ア ン ト の Web サービ ス
Windows ク ラ イ ア ン ト の Web サービ ス
解説
PowerBuilder アプ リ ケーシ ョ ン は、 イ ン タ ーネ ッ ト 経由でア ク セ ス す
る Web サービ ス を使用す る ク ラ イ ア ン ト と し て動作で き ま す。 SOAP
お よ び WSDL を使用す る と 、 単一のエ ン テ ィ テ ィ と し て リ モー ト で発
行 さ れ る 関数の集ま り を PowerBuilder アプ リ ケーシ ョ ン に含め る こ と
がで き ます。 Web サービ ス が、 アプ リ ケーシ ョ ンやほかの Web サービ
ス か ら 送信 さ れた要求を受け取っ て応答 し ます。
PowerBuilder Enterprise エデ ィ シ ョ ンのみ
こ の機能は、 PowerBuilder の Desktop エデ ィ シ ョ ン では使用で き ま せ
ん。
使い方
SOAP を使用 し て Web サービ ス を呼び出すには、 デー タ 型のシ リ アル
化 と デシ リ ア ラ イ ズ化、 お よ び XML ベース の SOAP メ ッ セージの作
成 と 解析が必要です。 Web サービ ス の ク ラ イ ア ン ト プ ロ キ シに よ っ て
こ れ ら の作業が実行 さ れ る た め、 SOAP の仕様 と ス キーマ、 XML ス
キーマ仕様、 あ る いは WSDL の仕様 と ス キーマに関す る広範な知識を
持っ てい る 必要はあ り ま せん。 プ ロ キ シは、 ウ ィ ザー ド で作成で き る
プ ロ ジ ェ ク ト を使っ て生成 さ れます。
ク ラ イ ア ン ト では、DLL フ ァ イ ル pbsoapclient90J.dll に実装 さ れてい る
一連の ク ラ ス を使用 し ます。 こ の DLL を使用す る には、 こ の フ ァ イ ル
を アプ リ ケーシ ョ ン のパ ス に置 き 、pbsoapclient90J.pbd フ ァ イ ルを ク ラ
イ ア ン ト ア プ リ ケーシ ョ ン の ラ イ ブ ラ リ 探索パ ス に追加 し て く だ さ
い。 PBD が DLL 用 ラ ッ パー と し て動作 し 、 PowerBuilder ク ラ イ ア ン ト
が DLL の ク ラ ス を PowerBuilder のカ ス タ ム ク ラ ス ユーザ オブジ ェ ク
ト の よ う に使用で き る よ う にな り ます。
詳細情報
『アプ リ ケーシ ョ ン テ ク ニ ッ ク 』 マニ ュ アルの 「Web サービ ス ク ラ イ
ア ン ト の構築」 を参照 し て く だ さ い。
サー ド パーテ ィ 製ア プ リ ケーシ ョ ン サーバの EJB ク ラ イ
アン ト
解説
8
PowerBuilder アプ リ ケーシ ョ ンは、 Sybase EAServer、 IBM WebSphere、
BEA WebLogic な ど の J2EE 準拠アプ リ ケーシ ョ ン サーバ上で実行 さ
れ る EJB コ ン ポーネ ン ト に対す る ク ラ イ ア ン ト と し て動作で き ます。
第1章
PowerBuilder 9 の新機能
PowerBuilder Enterprise のみ
こ の機能は、 PowerBuilder の Desktop エデ ィ シ ョ ン では使用で き ま せ
ん。
使い方
ク ラ イ ア ン ト は、 サーバに接続 し て EJB コ ン ポーネ ン ト と 通信す る と
き には、 DLL フ ァ イ ル pbejbclient90J.dll に実装 さ れてい る 一連の ク ラ
ス を 使用 し ま す。 こ の DLL を 使用す る には、 こ の フ ァ イ ル を ア プ リ
ケーシ ョ ン のパ ス に置 き 、 pbejbclient90J.pbd フ ァ イ ルを ク ラ イ ア ン ト
アプ リ ケーシ ョ ン の ラ イ ブ ラ リ 探索パ ス に追加 し て く だ さ い。 PBD が
DLL 用 ラ ッ パー と し て動作 し 、PowerBuilder ク ラ イ ア ン ト が DLL の ク
ラ ス を PowerBuilder のカ ス タ ム ク ラ ス ユーザ オブジ ェ ク ト の よ う に
使用で き る よ う にな り ます。
PowerBuilder ク ラ イ ア ン ト は、 EJB コ ン ポーネ ン ト の ロ ーカル プ ロ キ
シ オブジ ェ ク ト を使用 し て、呼び出 し を EJB コ ン ポーネ ン ト の メ ソ ッ
ド に委任 し ま す。 プ ロ キ シは、 ウ ィ ザー ド で作成で き る プ ロ ジ ェ ク ト
を使っ て生成 さ れます。
詳細情報
『ア プ リ ケーシ ョ ン テ ク ニ ッ ク 』 マニ ュ アルの 「EJB ク ラ イ ア ン ト の
構築」 を参照 し て く だ さ い。
XML と CSV のイ ンポー ト と 保存
解説
デー タ ウ ィ ン ド ウ と グ ラ フ オブジ ェ ク ト の ImportFile、 ImportString、 お
よ び ImportClipboard メ ソ ッ ド は、 イ ン ポー ト 形式 と し て XML と CSV
を サポー ト し 、SaveAs メ ソ ッ ド は XML を サポー ト し ます。 デー タ ウ ィ
ン ド ウ と デー タ ベース ペ イ ン タ で、 こ れ ら の形式を使っ て イ ン ポー ト
と 保存を行 う こ と も で き ます。
使い方
イ ン ポー ト メ ソ ッ ド では、 イ ン ポー ト 対象デー タ のデー タ 型 を オプ
シ ョ ン の最初のパ ラ メ ー タ で指定で き ます。 ImportFile での有効なデー
タ 型は、 Text!、 CSV!、 XML!、 DBase2!、 お よ び DBase3! です。 こ のパ
ラ メ ー タ を指定す る場合は、 イ ン ポー ト フ ァ イ ル名に拡張子を含め る
必要はあ り ません。
gr_1.ImportFile( XML!, "c:¥data¥customers")
こ のパ ラ メ ー タ を指定 し ない場合は、 拡張子 .TXT、 .CSV、 .XML、 お
よ び .DBF が認識 さ れ ま す。 ImportString と ImportClipboard で の有効 な
デー タ 型は、 Text!、 CSV!、 お よ び XML! です。
9
PDF と XSL-FO 形式での保存
XML テ ン プ レー ト を作成す る と 、大部分のデー タ ウ ィ ン ド ウ オブジ ェ
ク ト の イ ン ポー ト と エ ク ス ポー ト を制御で き ます。 Graph、 OLE、 ま た
は Composite 提示様式 を 使用 し て い る グ ラ フ オブ ジ ェ ク ト やデー タ
ウ ィ ン ド ウ オブジ ェ ク ト では、 テ ン プ レー ト を使用で き ません。
詳細情報
ImportFile、 ImportClipboard、 ImportString、 お よ び SaveAs 関数のオン ラ イ
ン ヘルプ を参照 し て く だ さ い。
PDF と XSL-FO 形式での保存
解説
PowerBuilder では、 2 つの方法で、 デー タ ウ ィ ン ド ウ のデー タ と 提示を
Portable Document Format (PDF) フ ァ イ ル と し て保存で き ます。 デフ ォ
ル ト では、 distiller を使っ て PDF フ ァ イ ル と し て保存 し ます。 XML と
し てデー タ を保存す る 機能を利用す る場合は、 Apache XML Formatting
Objects プ ロ セ ッ サ と Java 印刷を使用 し て、PDF ま たは XSL Formatting
Objects (XSL-FO) 形式でデー タ を保存す る こ と も で き ます。
使い方
デフ ォ ル ト では、 [フ ァ イ ル|名前を付けて行を保存] を選択 し 、 フ ァ
イ ルの種類 と し て PDF を選択す る と 、 デー タ は PostScript と し て保存
さ れ、 GhostScript を使用 し て自動的に PDF に変換 さ れ ます。
XSL-FO オ プ シ ョ ン は プ ラ ッ ト フ ォ ー ム 固有の ソ リ ュ ー シ ョ ン で あ
り 、 保存 さ れた PDF フ ァ イ ルを カ ス タ マ イ ズ し 、 直接プ リ ン タ で印刷
で き ます。 UNIX オペレーテ ィ ン グ シ ス テ ム の EAServer でデー タ ウ ィ
ン ド ウ オブジ ェ ク ト を印刷す る と き には、 XSL-FO を使用 し て PDF と
し て保存す る 方法が特に有用です。
デー タ ウ ィ ン ド ウ の プ ロ パテ ィ ビ ュ ーの [エ ク ス ポー ト ] ページで選
択す る か、Export.PDF.Method デー タ ウ ィ ン ド ウ オブジ ェ ク ト のプ ロ パ
テ ィ で設定す る こ と に よ っ て、 distiller や Apache プ ロ セ ッ サが使用で
き る よ う にな り ます。 [エ ク ス ポー ト ] ページに PDF オプシ ョ ン を表
示す る には、 [フ ォーマ ッ ト ] ド ロ ッ プダ ウ ン リ ス ト か ら 「PDF」 を選
択 し ます。
詳細情報
10
『PowerBuilder ユーザーズ ガ イ ド 』 マニ ュ アルの 「PDF と し てのデー タ
保存」 を参照 し て く だ さ い。
第1章
PowerBuilder 9 の新機能
OrcaScript 言語
解説
OrcaScript を 使 用す る と 、 PowerBuilder の 開発 環 境 を 使 用せ ず に
PowerBuilder アプ リ ケーシ ョ ン と フ ァ イ ルを処理す る バ ッ チ ス ク リ プ
ト を記述で き ます。 OrcaScript を使用すれば、 オペレー タ が操作す る こ
と な し に、 ソ ー ス コ ン ト ロ ールか ら の最新バージ ョ ン の PowerScript
タ ーゲ ッ ト の取得、 タ ーゲ ッ ト PBL の作成、 EAServer への コ ン ポーネ
ン ト の配布、 お よ び PowerBuilder 実行フ ァ イ ルの コ ンパ イ ルをすべて
実行で き ます。
詳細情報
『PowerBuilder ユーザーズ ガ イ ド 』 マニ ュ アルの 「OrcaScript 言語」 を
参照 し て く だ さ い。
PowerBuilder ラ ン タ イ ム パ ッ ケージ ャ
解説
PowerBuilder ラ ン タ イ ム パ ッ ケージ ャ は、 アプ リ ケーシ ョ ン で実行時
に必要 と な る PowerBuilder フ ァ イ ルを Microsoft Windows Installer パ ッ
ケ ー ジ (MSI) フ ァ イ ル に パ ッ ケ ー ジ 化す る ツ ー ル で す。 Windows
Installer は、 イ ン ス ト ー ル と 設 定 を 行 う サ ー ビ ス で あ り 、 新 し い
Microsoft Windows オペ レ ーテ ィ ン グ シ ス テ ム と と も に イ ン ス ト ール
さ れ ます。 Windows NT のサービ ス パ ッ ク と し て提供 さ れてい ます。
使い方
PowerBuilder ラ ン タ イ ム パ ッ ケージ ャ は、 Windows の [ ス タ ー ト ] メ
ニ ュ ーか ら 選択す る か、 Shared¥PowerBuilder デ ィ レ ク ト リ の pbpack90
実行フ ァ イ ルを起動す る と 実行で き ます。
ラ ン タ イ ム パ ッ ケージ ャ では、 選択す る コ ン ポーネ ン ト で必要 と な る
フ ァ イ ル と 、 コ ア の PowerBuilder ラ ン タ イ ム DLL すべてが含 ま れた
MSI フ ァ イ ルが作成 さ れます。 MSI フ ァ イ ルは、 すべての Windows プ
ラ ッ ト フ ォ ーム で直接実行す る こ と がで き る 圧縮フ ァ イ ルです。 自己
登録型 DLL の登録、Windows レ ジ ス ト リ への イ ン ス ト ール先パ ス の追
加、 シ ス テ ム PATH 環境変数の設定、 お よ び Windows の コ ン ト ロ ール
パネルの [アプ リ ケーシ ョ ン の追加 と 削除] ページ用レ ジ ス ト リ への
情報の追加を行い ます。 こ の フ ァ イ ルは、 一部のサー ド パーテ ィ 製 イ
ン ス ト ール ソ フ ト ウ ェ ア パ ッ ケージで も 使用可能です。
詳細情報
詳細については、 『アプ リ ケーシ ョ ン テ ク ニ ッ ク 』 マ ニ ュ アル を参照
し て く だ さ い。
11
PowerBuilder リ ソ ース モニ タ
PowerBuilder リ ソ ース モニ タ
解説
PowerBuilder リ ソ ース モニ タ (PBRESMON) は、 オペレーテ ィ ン グ シ
ス テ ム に 使用可能 な USER/GDI リ ソ ー ス が 十分 に あ る か ど う か を
PowerBuilder で判断で き る よ う に設計 さ れ た 外部ユー テ ィ リ テ ィ で
す。 PowerBuilder ペ イ ン タ を開いて操作す る には、十分な USER/GDI リ
ソ ース が確保 さ れてい る必要があ り ます。 通常、USER/GDI リ ソ ース が
不十分であ る と 、 ク ラ ッ シ ュ や一般保護エ ラ ーな ど のシ ス テ ム問題が
発生 し ます。 PBRESMON は PowerBuilder 8.0.2 で導入 さ れま し た。
使い方
PBRESMON は、 PowerBuilder で自動的に起動 さ せ る こ と も (PB.INI に
値を設定 し てお く )、 手動で起動す る こ と も で き ます。 ただ し 、 実行で
き る のは常に PBRESMON の 1 つの イ ン ス タ ン ス だ け です。 つ ま り 、
[PBRESMON] ア イ コ ン は何回 も ダブル ク リ ッ ク で き ま すが、 実行 さ
れ る のは 1 つの PBRESMON だけです。
PBRESMON は、 ト レ イ ア イ コ ン アプ リ ケーシ ョ ン です。 PBRESMON
を実行す る と 、 そのア イ コ ン が Windows シ ス テ ム ト レ イ (シ ス テ ム
ク ロ ッ ク が常駐 し てい る場所) に表示 さ れます。 PowerBuilder ユーザ
が新 し いペ イ ン タ を開 く たびに、 PowerBuilder は PBRESMON に
USER/GDI リ ソ ース が使用可能であ る か ど う か を問い合わせます。
PBRESMON は、 こ れに応答 し て、 現在シ ス テ ム に使用可能な
USER/GDI リ ソ ース が十分にあ る か ど う か を PowerBuilder に示 し ま
す。 PBRESMON が十分な リ ソ ース があ る こ と を示 し た場合は、 要求
さ れたペ イ ン タ が開 き ます。 そ う でない場合は、 リ ソ ース が足 り ない
こ と を示すエ ラ ー メ ッ セージが表示 さ れます。
詳細情報
オ ン ラ イ ン ヘルプの 「PowerBuilder リ ソ ース モニ タ 」 を参照 し て く だ
さ い。
ソ ース管理の機能拡張
解説
12
PowerBuilder 9 には、ソ ース管理統合の速度 と パフ ォ ーマ ン ス を向上 さ
せ る ために、 以下の よ う に ソ ース管理機能が拡張 さ れま し た。
•
PBL での ソ ース管理操作の実行
•
上書 き 時の確認を省略す る 機能
•
チ ェ ッ ク リ ス ト ダ イ ア ロ グ ボ ッ ク ス の機能拡張
•
ソ ース管理履歴の機能拡張
•
ス テー タ ス評価の機能拡張
第1章
詳細情報
PowerBuilder 9 の新機能
•
PBNative 構成の機能拡張
•
ラ イ ブ ラ リ ペ イ ン タ の リ ス ト ビ ュ ーの機能拡張
•
ソ ース管理 ロ グの機能拡張
ソ ース 管理の機能拡張
デー タ ウ ィ ン ド ウの機能拡張
解説
デー タ ウ ィ ン ド ウの印
刷機能の拡張
PowerBuilder 9 では、 以下のデー タ ウ ィ ン ド ウ の機能が拡張 さ れ ま し
た。
•
データ ウ ィ ン ド ウ の印刷機能の拡張
•
子データ ウ ィ ン ド ウ の検索
•
グ ループ レ ポート のス ク ロ ール
PowerBuilder 9 ア プ リ ケーシ ョ ン では、 デー タ ウ ィ ン ド ウ の印刷機能
に、 い く つか拡張が加え ら れてい ます。
•
印刷済みレ ポー ト 上のテ キ ス ト フ ィ ール ド でテ キ ス ト を ク リ ッ ピ
ン グす る 新 し いプ ロ パテ ィ を追加
DataWindow.Print.ClipText プ ロ パ テ ィ を 使 用 す る と 、 テ キ ス ト
フ ィ ール ド に枠線を表示す る よ う 設定 さ れていない場合に、 ス タ
テ ィ ッ ク フ ィ ール ド のテ キ ス ト を テ キ ス ト フ ィ ール ド のサ イ ズ
に ク リ ッ ピ ン グ で き ま す。 こ のプ ロ パテ ィ が設定 さ れていな く て
も 、枠線を表示す る よ う 設定 さ れてい る テ キ ス ト フ ィ ール ド では、
自動的にテ キ ス ト の ク リ ッ ピ ン グ が行われ ま す。 こ のプ ロ パテ ィ
の値には以下の も のがあ り ます。
Yes — テ キ ス ト フ ィ ール ド か ら テ キ ス ト がはみ出ない よ う に
印刷す る
No — (デフ ォ ル ト 設定) 印刷ページのテ キ ス ト フ ィ ール ド サ
イ ズか ら 、 テ キ ス ト 全体をはみ出 し て印刷で き る
•
印刷ジ ョ ブのデフ ォ ル ト 指定を上書 き す る 新 し いプ ロ パテ ィ を追
加
DataWindow.Print.OverridePrintJob プ ロ パテ ィ を使用す る と 、
PrintOpen メ ソ ッ ド で定義 し た印刷ジ ョ ブの印刷設定を、 デー タ
ウ ィ ン ド ウ の印刷指定で上書 き す る こ と がで き ます。 こ のプ ロ パ
テ ィ の値には以下の も のがあ り ます。
Yes — 印刷ジ ョ ブの印刷設定を上書 き す る
13
デー タ ウ ィ ン ド ウの機能拡張
No — (デフ ォ ル ト 設定) 印刷ジ ョ ブの印刷設定を上書 き し な
い
•
デー タ ウ ィ ン ド ウ レ ポー ト のプ リ ン タ を指定で き る新 し いプ ロ パ
テ ィ を追加
DataWindow.Print.PrinterName プ ロ パテ ィ を使用す る と 、 レ ポー ト
を特定のプ リ ン タ で印刷す る よ う 指定で き ます。 プ リ ン タ 名は、プ
ロ グ ラ ム に よ っ て指定す る か、 デー タ ウ ィ ン ド ウ ペ イ ン タ のプ ロ
パテ ィ ビ ュ ーで指定で き ま す。 プ リ ン タ 名を指定 し ない と 、 ユー
ザのマ シ ン で設定 さ れてい る デフ ォ ル ト のプ リ ン タ に出力 さ れ ま
す。
•
デー タ ウ ィ ン ド ウ レ ポー ト を複数部印刷で き る
プ リ ン タ ド ラ イ バで印刷ジ ョ ブの複数部印刷を指定で き ない場合
で も 、 DataWindow.Print.Copies プ ロ パテ ィ を使用す る と 、 レ ポー ト
を複数部印刷で き る よ う にな り ま し た。 プ リ ン タ ド ラ イ バで複数
部印刷がサポー ト さ れていない場合には、 デー タ ウ ィ ン ド ウ エ ン
ジ ン が ド ラ イ バにかわ っ て、 現在のページ を指定 し た部数だけ繰
り 返 し 印刷 し ます。
•
デー タ ウ ィ ン ド ウ ペ イ ン タ で Print.Collate プ ロ パテ ィ を設定で き
る
デー タ ウ ィ ン ド ウ レ ポー ト を部単位で印刷で き る デー タ ウ ィ ン ド
ウ のプ ロ パテ ィ を、 PowerBuilder の UI で設定で き る よ う にな り ま
し た。 以前のバージ ョ ン では、こ のプ ロ パテ ィ はプ ロ グ ラ ム で設定
す る必要があ り ま し た。 ま た、こ のプ ロ パテ ィ が設定 さ れていた既
存のアプ リ ケーシ ョ ン の動作を保持す る ために、 こ のプ ロ パテ ィ
のデフ ォ ル ト 値が No か ら Yes に変更 さ れてい ます。
新 し いデー タ ウ ィ ン ド ウ プ ロ パテ ィ はすべて、 PowerScript ド ッ ト 表
記で設定 し た り 、Describe と Modify メ ソ ッ ド を使用 し て設定で き ます。
新 し いプ ロ パテ ィ の大部分は、 デー タ ウ ィ ン ド ウ ペ イ ン タ の
DataWindow プ ロ パテ ィ ビ ューにあ る [印刷の仕様] ページで設定す
る こ と も で き ます。
14
デー タ ウ ィ ン ド ウの印刷プ ロパテ ィ
DataWindow.Print.ClipText (新規)
UI オプ シ ョ ン
[ク リ ッ プ テキス ト ]
チェ ッ ク ボ ッ ク ス
DataWindow.Print.Collate (拡張)
[部単位で印刷] チ ェ ッ ク
ボッ クス
DataWindow.Print.Copies (拡張)
DataWindow.Print.PrinterName (新規)
UI では使用で き ない
[プ リ ン タ 名] テ キ ス ト
ボッ クス
第1章
デー タ ウ ィ ン ド ウの印刷プ ロパテ ィ
DataWindow.Print.OverridePrintJob (新規)
子デー タ ウ ィ ン ド ウの
検索
PowerBuilder 9 の新機能
UI オプ シ ョ ン
[プ リ ン ト ジ ョ ブ の オ ー
バ ー ラ イ ド] チ ェ ッ ク
ボッ ク ス
PowerBuilder 9 では、 親デー タ ウ ィ ン ド ウ の内容を検索す る と き に、
子デー タ ウ ィ ン ド ウ が自動的に検索 さ れない よ う に設定で き ます。 こ
の設定にす る には、 ド ロ ッ プダ ウ ン デー タ ウ ィ ン ド ウ コ ン ト ロ ール
のプ ロ パテ ィ シー ト の [編集] ページで、 こ の コ ン ト ロ ールの [自
動検索] チ ェ ッ ク ボ ッ ク ス を オ フ にす る か、 プ ロ グ ラ ム で新 し い
Edit.AutoRetrieve プ ロ パテ ィ を No に設定 し ます。
AutoRetrieve プ ロ パテ ィ は、 デフ ォ ル ト でオ ンにな っ てい ます。 子デー
タ ウ ィ ン ド ウ の自動検索プ ロ パ テ ィ を オ フ にす る 場合は、 子デー タ
ウ ィ ン ド ウ のハン ド ルを取得 し 、 そのハン ド ルを使っ て検索を起動す
れば、 子デー タ ウ ィ ン ド ウ を検索で き ま す。 こ の場合、 親デー タ ウ ィ
ン ド ウ の検索が終了 し てか ら 、 プ ロ グ ラ ム で子デー タ ウ ィ ン ド ウ の取
得を実行す る こ と がで き ます。
AutoRetrieve プ ロ パテ ィ を オ フ に し て、 プ ロ グ ラ ム に よ っ て子デー タ
ウ ィ ン ド ウ を 取得 し た場合には、 親デー タ ウ ィ ン ド ウ で そ れ以降に
Reset ま たは Retrieve を呼び出 し て も 、 子デー タ ウ ィ ン ド ウ の内容は リ
セ ッ ト さ れ ません。
グループ レポー ト の
ス ク ロール
DataWindow.HideGrayLine (改ペー ジ 箇所の灰色の線 を 隠す) プ ロ パ
テ ィ のチ ェ ッ ク ボ ッ ク ス が、デー タ ウ ィ ン ド ウ ペ イ ン タ のデー タ ウ ィ
ン ド ウ のプ ロ パテ ィ ビ ュ ーの [全般] ページに追加 さ れてい ま す。 グ
ループ ヘ ッ ダ付 き のデー タ ウ ィ ン ド ウ の場合にのみ、 こ のチ ェ ッ ク
ボ ッ ク ス が有効にな り ます。
HideGrayLine プ ロ パテ ィ を使用す る と 、 グループ ヘ ッ ダ付 き のデー タ
ウ ィ ン ド ウ を ス ク ロ ールす る と き に、 ページの区切 り を示すグ レ イ の
線 を 非表示に で き ま す。 デ フ ォ ル ト で は、 こ の プ ロ パ テ ィ は オ フ に
な っ てい ます。 グループ デー タ ウ ィ ン ド ウ の ス ク ロ ール時にグ レ イ の
線が表示 さ れない よ う にす る には、 HideGrayLine プ ロ パテ ィ を選択す
る か、 こ のプ ロ パテ ィ をプ ロ グ ラ ム で Yes に設定 し ます。
PowerScript の機能拡張
解説
こ の節では、 PowerScript オブジ ェ ク ト と 関数に加え ら れた変更 と 機能
拡張について説明 し ます。
15
PowerScript の機能拡張
今後実装 さ れる ア ク セ
シ ビ リ テ ィ の種類
•
今後実装さ れる ア ク セシ ビ リ テ ィ の種類
•
環境オブジェ ク ト の新し い PBBuildNumber プロ パティ
•
新し い AddToLibraryList 関数
•
新し い XMLParseFile およ び XMLParseString 関数
•
GetFileOpenName およ び GetFileSaveName の新し い引数
•
新し い LongLong データ 型と 関数
AccessibleRole 列挙型 と 、 AccessibleState お よ び Accessibility シ ス テ ム
オブジ ェ ク ト が PowerBuilder に追加 さ れ、 以下の イ ベン ト が一部の コ
ン ト ロ ールに追加 さ れ ま し た。
DoDefaultAction
DoHitTest
DoNavigation
DoSelection
GetChildCount
GetDefaultAction
GetDescription
GetFocusObject
GetHelp
GetHelpFile
GetHelpTopic
GetKeyboardShortcut
GetName
GetRole
GetSelection
GetValue
PowerBuilder 9.x では、 こ れ ら の追加に よ っ て Microsoft ア ク セシ ビ リ
テ ィ テ ク ノ ロ ジへの イ ン タ フ ェース を提供す る こ と で、 身体に障害の
あ る ユーザを サポー ト す る 予定です。
こ のア ク セシ ビ リ テ ィ のサポー ト は、 PowerBuilder 9.0 では実装 さ れて
い ま せん。 こ れ ら の新 し い列挙型 と イ ベン ト は、 今後のマ イ ナー バー
ジ ョ ン ア ッ プでアプ リ ケーシ ョ ン を移行す る 必要がない よ う にす る た
めに、 PowerBuilder 9.0 に追加 さ れてい ます。
環境オブ ジ ェ ク ト の新
し い PBBuildNumber
プ ロパテ ィ
環境オブジ ェ ク ト の新 し いプ ロ パテ ィ 、PBBuildNumber を使用す る と 、
実行時に PowerBuilder の ビル ド 番号を調べ る こ と がで き ます。
string ls_version
environment env
integer rtn
16
第1章
PowerBuilder 9 の新機能
rtn = GetEnvironment(env)
IF rtn <> 1 THEN RETURN
ls_version = "Version: "+ string(env.pbmajorrevision)
ls_version += "." + string(env.pbminorrevision)
ls_version += "." + string(env.pbfixesrevision)
ls_version += " Build: " + string(env.pbbuildnumber)
MessageBox("PowerBuilder Version", ls_version)
新しい
AddToLibraryList 関数
コ ン ポーネ ン ト で リ ソ ース を共有す る と き に問題が発生 し ない よ う に
す る た め に は、 SetLibraryList の か わ り に AddToLibraryList を 使用 し て、
EAServer に配布す る コ ン ポーネ ン ト の検索 リ ス ト に PBD フ ァ イ ル を
追加す る 必要 が あ り ま す。 詳細 に つ い て は、 オ ン ラ イ ン ヘル プ の
AddToLibraryList 関数に関す る 説明を参照 し て く だ さ い。
新 し い XMLParseFile
および
XMLParseString 関数
XML サービ ス を サポー ト す る ために、 XMLParseFile と XMLParseString
関数が追加 さ れてい ま す。 こ れ ら の関数は XML フ ァ イ ル ま たは文字
列を解析 し 、 well formed (整形式) で あ る か、 あ る いは指定文法で コ
ン パ イ ルす る 必要が あ る か を 判断 し ま す。 ImportFile、 ImportClipboard、
ImportString、 お よ び SaveAs 関数 も 、 XML を サポー ト す る ために変更
さ れてい ます。 詳細については、 オ ン ラ イ ン ヘルプの各関数に関す る
説明 と 、 2 ページ の 「 データ ウ ィ ン ド ウ での XML のサポート 」 を参
照 し て く だ さ い。
GetFileOpenName お
よび
GetFileSaveName の
新 し い引数
GetFileOpenName と GetFileSaveName 関数に、 引数が 2 つ追加 さ れま し
新 し い LongLong デー
タ 型 と 関数
PowerBuilder には、 C++、 Java、 お よ び XML で使用 さ れ る 64 ビ ッ ト 整
数型にマ ッ プす る ための LongLong デー タ 型が用意 さ れてい ます。 こ の
デー タ 型は、 EAServer、 EJB ク ラ イ ア ン ト 、 Web サービ ス用 SOAP ク
ラ イ ア ン ト 、 お よ び PBNI アプ リ ケーシ ョ ン で使用で き ます。 現在、 こ
のデー タ 型はデー タ ベース ド ラ イ バでは使用で き ません。 こ のデー タ
型の範囲は、 -9223372036854775808 ~ 9223372036854775807 です。
た。 initdir 引数は、 デ ィ レ ク ト リ 名の初期値 と な る 文字列です。 aFlag
引数は、 オプシ ョ ン がダ イ ア ロ グ ボ ッ ク ス で有効か ど う か を判断す る
Unsigned Long 型の値です。 個々のフ ラ グの値を加算 し た集計フ ラ グ を
渡す と 、複数のオプシ ョ ン を渡す こ と がで き ます。 詳細については、オ
ン ラ イ ン ヘルプの各関数に関す る 説明を参照 し て く だ さ い。
こ の LongLong 関 数 に は 構 文 が 2 種類 あ り ま す。 LongLong (lowword,
highword) と い う 構文は、 2 つの unsigned longs 型デー タ を longlong 値に
結合 し ます。 Longlong (stringorblob) と い う 構文は、値が数値の文字列を
longlong 型に変換 し た り 、 longlong 値を取得 し ます。
17
デバ ッ ガの機能拡張
デバ ッ ガの機能拡張
解説
チ ッ プ ウ ォ ッ チ と ク イ ッ ク ウ ォ ッ チ機能がデバ ッ ガ に追加 さ れ、 ブ
レー ク ポ イ ン ト で実行が停止 し た と き に、 その時点での変数 と 式の値
を ソ ー ス ビ ュ ー か ら 取得 で き る よ う に な り ま し た。 ま た、 ソ ー ス
ビ ュ ーか ら 文字列をデバ ッ ガのほかの ツールに コ ピー し た り 、 実行の
継続、 ス テ ッ プ イ ン、 ス テ ッ プ ア ウ ト 、 ス テ ッ プ オーバーな ど の共
通の ア ク シ ョ ン 用の定義済みシ ョ ー ト カ ッ ト キー を 組み合わせて使
用す る こ と も で き ます。
チ ッ プウ ォ ッ チ
ブ レー ク ポ イ ン ト で実行が停止 し た と き に、マ ウ ス ポ イ ン タ を ソ ース
ビ ューの変数の上に置 く と 、ポ ッ プア ッ プ ヒ ン ト ウ ィ ン ド ウ が表示 さ
れ、 そ の変数の現在の値が そ の ウ ィ ン ド ウ に表示 さ れ ま す。 チ ッ プ
ウ ォ ッ チ を使用す る と 、 単純デー タ 型の変数の現在値が表示 さ れ ま
す。 オブジ ェ ク ト 型の場合は、内部識別子のみ表示 さ れます。 配列型の
場合は、 {...} が表示 さ れ、 詳細な情報が含ま れてい る こ と が示 さ れ
ま す。 オブジ ェ ク ト 型 と 配列型の変数について完全な情報を表示す る
には、 ク イ ッ ク ウ ォ ッ チを使用 し ます。
単純式を選択 し て、 その現在の値を表示す る こ と も で き ま す。 選択 し
た文字列を解析で き ない場合は、 ポ ッ プア ッ プ ウ ィ ン ド ウ は表示 さ れ
ま せん。 チ ッ プ ウ ォ ッ チは、 関数、 代入、 ま たは変数値の修正式は評
価 し ません。
リ モー ト コ ン ポーネ ン ト をデバ ッ グ し てい る と き は、 チ ッ プ ウ ォ ッ チ
は式や間接的な変数を評価 し ません。
ク イ ッ クウォ ッ チ
ブ レー ク ポ イ ン ト で実行が停止 し た と き に、 編集用カー ソ ルを変数に
移動す る か、 ソ ース ビ ューで式を選択 し 、 デバ ッ グ ま たはポ ッ プア ッ
プ メ ニ ュ ーか ら ク イ ッ ク ウ ォ ッ チを選択す る と 、 ク イ ッ ク ウ ォ ッ チ ダ
イ ア ロ グボ ッ ク ス が開 き ます。 〔Shift〕 + 〔F9〕 のシ ョ ー ト カ ッ ト を使
用す る こ と も で き ます。
ク イ ッ ク ウ ォ ッ チ ダ イ ア ロ グ ボ ッ ク ス には、 変数のすべての フ ィ ール
ド の値だけでな く 、 単純な変数の現在値 と 、 オブジ ェ ク ト 変数の詳細
情報が表示 さ れ ま す。 ク イ ッ ク ウ ォ ッ チでは、 関数式を評価す る こ と
も で き ます。
18
第1章
PowerBuilder 9 の新機能
式の評価時の注意事項
ク イ ッ ク ウ ォ ッ チは、 ロ ーカルでのデバ ッ グ では、 関数をは じ め と す
る すべての種類の式を評価 し ま す。 関数を選択 し て ク イ ッ ク ウ ォ ッ チ
を ア ク テ ィ ブにす る と 、 その関数が実行 さ れ ま す。 こ れに よ り 、 予期
せぬ結果が生 じ る 可能性があ り ます。 た と えば、 dw_1.print() を選
択 し て ク イ ッ ク ウ ォ ッ チを ア ク テ ィ ブにす る と 、 デー タ ウ ィ ン ド ウ が
印刷 さ れ ます。
ま た、 以下の操作 も 可能です。
•
ツ リ ー ビ ュ ーの項目を選択 し 、 [値の編集] を ク リ ッ ク す る か、 ツ
リ ー ビ ューの項目を ダブル ク リ ッ ク し て、 変数値の変更 ダ イ ア ロ
グ ボ ッ ク ス を開 く と 、 変数の値を変更で き る
•
[式] テ キ ス ト ボ ッ ク ス で変数ま たは式を変更 し 、 [値の再設定]
を ク リ ッ ク し て、 ただちに ツ リ ー ビ ュ ーの文字列の新 し い値を表
示す る
•
[ ウ ォ ッ チの追加] を ク リ ッ ク し て、 デバ ッ ガの ウ ォ ッ チ ビ ューに
現在の ウ ォ ッ チの変数や式を追加す る
リ モー ト コ ン ポーネ ン ト をデバ ッ グ し てい る と き は、 式 と 間接的な変
数は評価 さ れないため、 変数の値を変更す る こ と はで き ません。
[ コ ピー]
メ ニ ュ ー項目
デバ ッ ガの ソ ース ビ ューでテ キ ス ト が選択 さ れてい る と き には、 ソ ー
ス ビ ュ ーのポ ッ プア ッ プ メ ニ ュ ーか ら [ コ ピー] を選択 し て、 その文
字列を ク リ ッ プボー ド に コ ピーで き ま す。 次に、 別のダ イ ア ロ グ ボ ッ
ク ス にそ の文字列 を貼 り 付け る と 、 文字列の検索、 ウ ォ ッ チの挿入、
ま たは条件ブ レー ク ポ イ ン ト の追加を行 う こ と がで き ます。
19
デー タ ベース接続の機能拡張
シ ョ ー ト カ ッ ト キー
[デバ ッ グ] メ ニ ュ ーの大部分の項目に、 デフ ォ ル ト のシ ョ ー ト カ ッ ト
キーが追加 さ れま し た。 別のシ ョ ー ト カ ッ ト キーの組み合わせを使用
し た い場合は、 [ツ ール|シ ョ ー ト カ ッ ト ] を選択 し 、 デ フ ォ ル ト の
シ ョ ー ト カ ッ ト キーを独自のキーの組み合わせに置 き 換え ます。
デー タ ベース接続の機能拡張
PowerBuilder 8.0.2 では、Oracle9i と Unicode デー タ ベース のサポー ト が
追加 さ れ ま し た。 こ れ ら の変更について、 以下の ト ピ ッ ク で説明 し ま
す。
•
Oracle9i のサポート
•
Unicode データ ベース のサポート
Oracle9i のサポー ト
解説
PowerBuilder 9 は、 Oracle9i の接続プー リ ン グ、 NCHAR ま たは
NVARCHAR2 デー タ 型、 お よ び LOB デー タ 型をサポー ト し てい ます。
接続プー リ ング
接続プー リ ン グ と は、 負荷を分散す る ために、 い く つかのセ ッ シ ョ ン
に分け ら れた再利用可能な物理的接続のグループ (プール) を使用す
る こ と です。 プールの管理は、 アプ リ ケーシ ョ ン ではな く OCI で行い
ま す。 接続プー リ ン グはデフ ォ ル ト では使用 さ れ ま せん。 接続プー リ
ン グ を使用す る には、 Oracle9i 用の DB プ ロ フ ァ イ ル設定 ダ イ ア ロ グ
ボ ッ ク ス の [接続] タ ブ ページの [接続プールの使用] チ ェ ッ ク ボ ッ
ク ス を オ ンに し ます。 ま た、 CnnPool DBParm を Yes に設定す る こ と も
で き ます。
NCHAR と
NVARCHAR2 のサ
ポー ト
PowerBuilder では、 pbo9090J.dll を使用 し て Oracle9i サーバに接続す る
場合には、 NCHAR と NVARCHAR2 デー タ 型を使用で き ます。
Oracle8i では、 デー タ ウ ィ ン ド ウ オブジ ェ ク ト が Oracle8i サーバ上の
テーブルの NCHAR や NVARCHAR2 カ ラ ム に ANSI 文字列を送信す る 際
に必要な接頭辞を生成す る こ と がで き ないため、 こ れ ら のデー タ 型を
使用で き ません。 接頭辞は、サーバにデー タ を Unicode 文字列に変換す
る よ う に指示 し ま す。 Oracle9i サーバでは、 ANSI 文字列を UNICODE
文字列に変換す る必要はあ り ません。
Oracle8i の ク ラ イ ア ン ト 文は、 以下の よ う にな り ます。
Update table1 set C1 = N'NEW STRING' where C1 = N'OLD
20
第1章
PowerBuilder 9 の新機能
STRING';
C1 のデー タ 型は NCHAR か NVARCHAR2 にな り 、 接頭辞 N は、 デー タ
を Unicode 文字列に変換す る よ う に Oracle8i サーバに指示 し ます。
Oracle ス ト ア ド プ ロ
シージ ャ の LOB 出力
パラ メ ー タ
pbo9090J.dll イ ン タ フ ェース を使用す る と 、LOB (Large OBject) を Oracle
ス ト ア ド プ ロ シージ ャ や関数の出力パ ラ メ ー タ と し て定義 し 、Blob 型
デー タ を検索で き ます。 各ス ト ア ド プ ロ シージ ャ や関数に対 し て定義
で き る LOB 出力パ ラ メ ー タ の数に制限はあ り ません。
ConnectAs DBParm
Oracle9i では、 SYSOPER ま たは SYSDBA シ ス テ ム特権がユーザに許
可 さ れてい る場合、 こ れ ら のシ ス テ ム特権で接続す る こ と がで き ま
す。 ユーザ名 と パ ス ワー ド を使っ て SYSDBA ま たは SYSOPER 特権に
接続す る と き には、 通常ユーザ名に関連付け ら れてい る ス キーマでは
な く 、 デフ ォ ル ト の ス キーマで接続 し ます。 デフ ォ ル ト の ス キーマ
は、 SYSDBA 特権では SYS で、 SYSOPER 特権では PUBLIC です。
SYSOPER ま たは SYSDBA 特権で接続を指定す る には、 ConnectAs
DBParm を使用 し ます。 ConnectAs DBParm については、 オン ラ イ ン ヘ
ルプの説明を参照 し て く だ さ い。
詳細情報
『デー タ ベース と の接続』 マニ ュ アル と 、 オ ン ラ イ ン ヘルプの DBParm
に関す る 説明を参照 し て く だ さ い。
Unicode デー タ ベースのサポー ト
解説
Adaptive Server Enterprise 12.5 と Oracle9i については、 PowerBuilder で
は DBCS と Unicode 間のデー タ 変換を含む Unicode デー タ ベースへの
ア ク セ ス を サポー ト し ます。 こ れ ら の DBMS では、 Unicode デー タ 型
も サポー ト し ます。
Adaptive Server Anywhere 7.x 以降については、 PowerBuilder では DBCS
と Unicode 間のデー タ 変換を含む Unicode デー タ ベースへのア ク セ ス
を サポー ト し ます。
ほかの DBMS については、 PowerBuilder では Unicode デー タ ベース の
デー タ に接続、 保存、 検索す る こ と はで き ますが、 DBCS と Unicode 間
でのデー タ 変換を行い ま せん。 デー タ がデー タ ベー ス に保存 さ れ る と
き に、 PowerBuilder はデー タ ベー ス に ANSI か DBCS デー タ を送 り ま
す。 デー タ が正 し く Unicode デー タ と し て 保存 さ れ る こ と を デー タ
ベー ス の側で保証 し な ければな り ま せん。 PowerBuilder はデー タ を検
索す る と き 、 デー タ は ANSI か DBCS デー タ であ る と 仮定 し ます。
詳細情報
『デー タ ベース と の接続』 マニ ュ アルを参照 し て く だ さ い。
21
そのほかの機能拡張
そのほかの機能拡張
こ の節では、 次の機能拡張について説明 し ます。
プロジ ェ ク ト ペイ ン
タ の新 し いバージ ョ ン
フ ィ ール ド
•
プロ ジ ェ ク ト ペイ ン タ の新し いバージ ョ ン フ ィ ールド
•
コ ン パイ ル時のデータ ベース 接続の無効化
•
ク リ ッ プ ウ ィ ン ド ウ の[ 詳細] カ ラ ム
プ ロ ジ ェ ク ト ペ イ ン タ の [バージ ョ ン] グループ ボ ッ ク ス にあ る 「製
品バージ ョ ン」 と 「フ ァ イ ル バージ ョ ン」 の数値フ ィ ール ド は、 製品
イ ン ス ト ール時に フ ァ イ ルを更新す る 必要があ る か を判断す る ために
Microsoft イ ン ス ト ー ラ で使用 し ます。 こ れ ら の フ ィ ール ド は、 次の形
式でなければな り ません。
N,N,N,N
こ れ ら 4 つの数値 を 使 っ て、 製品の メ ジ ャ ー バージ ョ ン、 マ イ ナー
バージ ョ ン、 ポ イ ン ト リ リ ース、 お よ びビル ド 番号を表す こ と がで き
ま す。 こ れ ら の値はすべ て 指定 し な け れば な り ま せん。 フ ァ イ ルの
バージ ョ ン管理シ ス テ ム で こ れ ら のバージ ョ ン表記全部を使用 し てい
な い 場 合 は、 使 用 し て い な い 番号 を ゼ ロ に で き ま す。 た と え ば、
3,1,333 と 指定 し て プ ロ ジ ェ ク ト を 保存 ま たは作成 し よ う と す る と 、
エ ラ ー メ ッ セージ が表示 さ れ ま すが、 3,1,333,0 と 指定 し た場合は、
エ ラ ーにはな り ません。 こ の文字列の各数値の最大値は 65535 です。
プ ロ ジ ェ ク ト ペ イ ン タ の 「製品バージ ョ ン」 と 「フ ァ イ ル バージ ョ
ン」 の文字列フ ィ ール ド は、 任意の形式にす る こ と がで き ま す。 こ れ
ら の フ ィ ール ド は、 実行フ ァ イ ルのプ ロ パテ ィ ダ イ ア ロ グ ボ ッ ク ス に
表示 さ れ ます。
コ ンパイル時のデー タ
ベース接続の無効化
PowerBuilder では、 埋め込み SQL が含ま れてい る アプ リ ケーシ ョ ン を
コ ン パ イ ルす る と き に、 構築プ ロ セ ス 中にデー タ ベー ス ア ク セ ス エ
ラ ーが発生 し た か ど う か を 調べ る た めに、 最後に使用 さ れたデー タ
ベース プ ロ フ ァ イ ルに接続 し ます。 複数のデー タ ベース を使用 し てい
る アプ リ ケーシ ョ ン の場合、 実際にアプ リ ケーシ ョ ン で使用 し てい る
デー タ ベース についてではな く 、 最後に使用 さ れた 1 つのデー タ ベー
ス に対 し て埋め込み SQL が評価 さ れ る ため、 構築プ ロ セ ス中に誤っ た
警告が表示 さ れて し ま う こ と があ り ます。 さ ら に、 デー タ ベース接続
が行われない と 、 長時間の夜間再構築な ど の無人構築では、 構築プ ロ
セ ス が停止す る こ と も あ り ます。
こ の問題を回避す る には、 PB.INI フ ァ イ ルに次のエ ン ト リ を追加 し ま
す。
[pb]
dbsign=0
22
第1章
PowerBuilder 9 の新機能
注意
デー タ ベース にサ イ ン オンせずに コ ンパ イ ルす る場合にのみ、 dbsign
の値を ゼ ロ でない値に設定 し て く だ さ い。 デー タ ベー ス に接続せずに
コ ンパ イ ルす る と 、 構築プ ロ セ ス ではデー タ ベース エ ラ ーのチ ェ ッ ク
が行われないため、 後で実行時エ ラ ー と な る 可能性があ り ます。
ク リ ップ ウィ ンドウ
の [詳細] カ ラ ム
[詳細] と い う 新 し いカ ラ ム が、 ク リ ッ プ ウ ィ ン ド ウ に追加 さ れ ま し
た。 新 し い ク リ ッ プ を追加 し て ク リ ッ プ名を入力す る と 、 ク リ ッ プの
詳細 ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ、 そ こ に ク リ ッ プの説明を入力で
き ま す。 後で説明を変更す る には、 その ク リ ッ プ名を選択 し 、 ク リ ッ
プ ウ ィ ン ド ウ の [更新] ボ タ ン を ク リ ッ ク し ます。
23
そのほかの機能拡張
24
第 2 章
ソ ース管理の機能拡張
PowerBuilder 9 では、 ソ ース管理統合の速度 と パフ ォーマ ン ス を向
上 さ せ る ために機能が拡張 さ れてい ます。
•
PBL でのソ ース 管理操作の実行
•
上書き 時の確認を 省略する 機能
•
チェ ッ ク リ ス ト ダ イ ア ロ グ ボッ ク ス の機能拡張
•
ソ ース 管理履歴の機能拡張
•
ス テータ ス 判断の機能拡張
•
PBNative 構成の機能拡張
•
ラ イ ブラ リ ペイ ン タ のリ ス ト ビ ュ ーの機能拡張
•
ソ ース 管理ロ グ の機能拡張
PBL でのソ ース管理操作の実行
PowerBuilder の UI を使っ て ソ ー ス 管理に PBL を登録す る こ と は
で き ませんが、シ ス テ ム ツ リ ーま たは ラ イ ブ ラ リ ペ イ ン タ で PBL
を右 ク リ ッ ク し て、 その PBL のすべてのオブジ ェ ク ト を ソ ース管
理に追加で き る よ う にな り ま し た。 PBL のポ ッ プア ッ プ メ ニ ュ ー
には、 [最新バージ ョ ン の取得]、 [チ ェ ッ ク イ ン]、 [チ ェ ッ ク ア
ウ ト ] 、 [チ ェ ッ ク ア ウ ト の取 り 消 し ] 、 お よ び [ ソ ース管理に追
加] メ ニ ュー項目が含まれてい ます。
PBL で ソ ース管理 メ ニ ュー項目を選択す る と 、 チ ェ ッ ク リ ス ト ダ
イ ア ロ グ ボ ッ ク ス に現在の PBL のオブ ジ ェ ク ト がすべて表示 さ
れ、選択 し た操作を適用で き ます。 単一の PBL タ ーゲ ッ ト の場合、
表示 さ れ る リ ス ト は PBT の ソ ース管理 メ ニ ュー項目を ク リ ッ ク し
た と き と 同 じ で す が、 PBL ポ ッ プ ア ッ プ メ ニ ュ ー か ら 開 い た
チ ェ ッ ク リ ス ト ダ イ ア ロ グ ボ ッ ク ス には PBT は表示 さ れ ません。
25
上書き時の確認を省略する機能
上書き時の確認を省略する機能
特定の SCC プ ロ バ イ ダでは、ワー ク スペース フ ァ イ ルの ソ ース管理ス
テー タ ス を リ フ レ ッ シ ュす る 際に、 PowerBuilder が SccDiff メ ソ ッ ド 呼
び出 し を 行い ま す。 SccDiff メ ソ ッ ド で正確な情報 を 提供す る た めに
は、 ワ ー ク スペース PBL のオブジ ェ ク ト を ロ ーカル プ ロ ジ ェ ク ト パ
ス にエ ク ス ポー ト し な ければな り ま せん。 ソ ー ス 管理操作後に、 エ ク
ス ポー ト し た フ ァ イ ルで、 ロ ーカル プ ロ ジ ェ ク ト パ ス にすでに存在 し
てい る 同一の名前を持つフ ァ イ ルを上書 き し ます。
多 く の SCC プ ロ バ イ ダでは、 読み出 し 専用属性フ ラ グが設定 さ れてい
る ロ ーカル プ ロ ジ ェ ク ト パ ス にオブジ ェ ク ト フ ァ イ ルが置かれた ま
ま であ る ため (オブジ ェ ク ト がチ ェ ッ ク ア ウ ト さ れていない場合)、 こ
れ ら の フ ァ イ ルを上書 き す る 前に、 上書 き を確認す る メ ッ セージが表
示 さ れ ま す。 上書 き す る フ ァ イ ルが多数あ る 場合、 こ の確認作業に時
間がかか る こ と があ り ます。
ワー ク スペース のプ ロ パテ ィ ダ イ ア ロ グ ボ ッ ク ス の [ ソ ース管理] タ
ブで [読み取 り 専用フ ァ イ ルの上書 き 時に問い合わせない] オプシ ョ
ン を選択 し て、SCC プ ロ バ イ ダ と 通信す る ために PBL か ら オブジ ェ ク
ト ソ ース を ロ ーカル プ ロ ジ ェ ク ト パ ス にエ ク ス ポー ト す る 必要があ
る た び に、 自 動 的 に 読 み 出 し 専 用 フ ァ イ ル を 上 書 き す る 許 可 を
PowerBuilder に設定 し ます。 こ のオプシ ョ ンは、デフ ォ ル ト では選択 さ
れてい ません。
SccDiff メ ソ ッ ド は Perforce や ClearCase シ ス テ ム では呼び出 さ れない
ので、 [読み取 り 専用フ ァ イ ルの上書 き 時に問い合わせない] オプシ ョ
ン を選択 し て も 、 こ れ ら の SCC プ ロ バ イ ダのパフ ォ ーマ ン ス には影響
を与え ません。 [PowerBuilder が生成 し たオブジ ェ ク ト フ ァ イ ルを削
除す る ] オプシ ョ ン を選択 し てい る 場合、 [ス テー タ ス更新時に差分を
取得] オプシ ョ ン を解除 し てい る 場合、 ま たは ソ ー ス管理プ ロ バ イ ダ
が SccQueryInfoEx メ ソ ッ ド を実装 し てい る 場合には、 こ のオプシ ョ ン
の与え る 影響は最小限であ る か、 ま っ た く 影響はあ り ません。
SccQueryInfoEx メ ソ ッ ド については、 28 ページ の 「 ス テ ータ ス 判断の
機能拡張」 を参照 し て く だ さ い。
26
第2章
ソ ース管理の機能拡張
チ ェ ッ ク リ ス ト ダ イ ア ログボ ッ ク スの機能拡張
ソ ース管理操作の際に開 く チ ェ ッ ク リ ス ト ダ イ ア ロ グボ ッ ク ス が、 以
前のバージ ョ ン の PowerBuilder の ダ イ ア ロ グ ボ ッ ク ス よ り 大 き く な
り 、 サ イ ズ変更ハン ド ルをつかんで ド ラ ッ グす る と ダ イ ア ロ グ ボ ッ ク
ス のサ イ ズ を変更で き る よ う にな り ま し た。 PBW、 PBT、 ま たは PBL
フ ァ イ ルのポ ッ プア ッ プ メ ニ ュ ーか ら ソ ー ス 管理項目を選択す る と 、
チ ェ ッ ク リ ス ト ダ イ ア ロ グ ボ ッ ク ス を開 く こ と がで き ます。 ラ イ ブ ラ
リ ペ イ ン タ の リ ス ト ビ ュ ーで複数オブジ ェ ク ト を選択す る 方法で も 、
チ ェ ッ ク リ ス ト ダ イ ア ロ グボ ッ ク ス を開 く こ と がで き ます。
ソ ース管理履歴の機能拡張
以前のバージ ョ ンのオ
ブ ジ ェ ク ト のイ ンポー
ト
特定の ソ ース管理シ ス テ ム では、 PowerBuilder 9 を使用す る と 、 ソ ース
管理 リ ポ ジ ト リ か ら 以前のバージ ョ ン のオブ ジ ェ ク ト を 取得で き ま
す。 今ま での PowerBuilder では、チ ェ ッ ク ア ウ ト 操作を行わなければ、
こ れは実行で き ま せんで し た。 ほかの ソ ー ス管理操作を実行 し てい る
と き に以前のバージ ョ ン のオブジ ェ ク ト を取得で き る よ う に、 こ の機
能が拡張 さ れてい ます。
SccHistory ま たは SccProperties 呼び出 し 時に SCC_I_RELOADFILE リ
タ ーン コ ー ド を返す ソ ー ス管理シ ス テ ム の場合、 PowerBuilder 9 を使
用す る と 、 自動的に以前のバージ ョ ン のオブジ ェ ク ト を イ ン ポー ト す
る こ と がで き ます。 オブジ ェ ク ト のポ ッ プア ッ プ メ ニ ュ ーか ら [履歴
の表示] を選択す る か、 ラ イ ブ ラ リ ペ イ ン タ でオブジ ェ ク ト を選択 し
て、 ラ イ ブ ラ リ ペ イ ン タ の メ ニ ュ ーか ら [エ ン ト リ | ソ ー ス 管理|
SCC System プ ロ パテ ィ ] を選択す る と 、 イ ン ポー ト が実行 さ れます。
SCC シ ス テ ム で こ の機能をサポー ト し てい る 場合には、 履歴の表示 ダ
イ ア ロ グ ボ ッ ク ス、 ま たは SCC シ ス テ ム のプ ロ パテ ィ の ダ イ ア ロ グ
ボ ッ ク ス か ら 、 取得す る オブ ジ ェ ク ト のバージ ョ ン を 選択 し て、 [取
得] ボ タ ン を ク リ ッ ク し ま す。 [取得] ボ タ ン を ク リ ッ ク す る と 、 選
択 し たバージ ョ ン のオブジ ェ ク ト が現在の タ ーゲ ッ ト に イ ン ポー ト さ
れます。
PBNative での
ShowHistory の実装
PBNative は、 PowerBuilder 9 の Show History コ マ ン ド を サポー ト し ま
す。 Show History コ マ ン ド は、 ロ ーカル マシ ン上の フ ァ イ ル名、 現在
の ソ ース 管理 ス テー タ ス、 現在のオブジ ェ ク ト のバージ ョ ン番号、 お
よ び ソ ース管理への最新チ ェ ッ ク イ ン日付を表示す る 簡単なダ イ ア ロ
グ ボ ッ ク ス を返す コ マ ン ド です。
27
ス テー タ ス判断の機能拡張
ス テー タ ス判断の機能拡張
ポ ッ プア ッ プ メ
ニ ュ ーの [ス テー タ ス
の リ フ レ ッ シ ュ]
PowerBuilder 9 では、 シ ス テ ム ツ リ ーや ラ イ ブ ラ リ ペ イ ン タ の ビ ュ ー
でオブジ ェ ク ト を右 ク リ ッ ク し 、 [ス テー タ ス の リ フ レ ッ シ ュ] を選択
す る と 、 ソ ース 管理のオブ ジ ェ ク ト の ス テー タ ス を更新で き ま す。 今
ま では PowerBuilder で こ の機能を使用す る には、 ラ イ ブ ラ リ ペ イ ン タ
の メ ニ ュ ーで [エ ン ト リ | ソ ー ス 管理| ス テー タ ス の リ フ レ ッ シ ュ ]
を選択す る操作 し かあ り ませんで し た。
初期設定モー ド のパ
フ ォ ーマ ン ス
ワ ー ク ス ペ ー ス 起 動 時 と 、 PBL や Folders な ど の オ ブ ジ ェ ク ト を
PowerBuilder シ ス テ ム ツ リ ーや ラ イ ブ ラ リ ペ イ ン タ で展開す る たび
に、 ソ ース管理 さ れてい る 多数のオブジ ェ ク ト の SCC ス テー タ ス を取
得す る のは、 時間のかか る 操作です。
PowerBuilder 9 では、 効率的に SCC 処理が行われてい る 間に、 SCC プ
ロ バ イ ダ と 非同期モー ド で通信を行 う 子ス レ ッ ド が自動的に生成 さ れ
ます。 こ の ス レ ッ ド が実行 さ れてい る間は、 ラ イ ブ ラ リ ペ イ ン タ の タ
イ ト ル バーに 「Initialization」 と 表示 さ れます。 SCC 操作は、 ス テー タ
ス情報の取得時に一時的に無効にな り ますが、 すでにチ ェ ッ ク ア ウ ト
し たオブジ ェ ク ト の編集な ど、 オ フ ラ イ ン モー ド で操作 し てい る かの
よ う に、 オブジ ェ ク ト を その ま ま操作す る こ と がで き ます。
PowerBuilder 9 で発行 さ れ る ス テー タ ス要求は、 以前の PowerBuilder
での要求 よ り も ずっ と 効率的であ る ため、 中間サ イ ズの PBL やフ ォ
ルダ を展開す る と き 通常の初期化には数秒 し かかか り ません。 た と え
ば、 200 個のオブジ ェ ク ト が含まれてい る PBL を展開す る 場合、
PowerBuilder 8 ではサーバへの要求数が 400 で し たが、 PowerBuilder 9
ではわずか 8 つに ま で減 ら す こ と がで き ます。 こ れに よ り 、 ダ イ アル
ア ッ プ モデム を使っ て ソ ース管理 リ ポジ ト リ に接続 し てい る と き の
パフ ォ ーマ ン ス が著 し く 向上 し てい ます。
バージ ョ ン番号によ る
ス テー タ スの判断
PowerBuilder 9 では、サー ド パーテ ィ の SCC プ ロ バ イ ダに対 し て、SCC
プ ロ バ イ ダ製品 と PowerBuilder と の統合を強化で き る SCC API へのエ
ク ス テ ン シ ョ ン を提供 し てい ます。 通常、 SccDiff メ ソ ッ ド を呼び出 し
て、 オブジ ェ ク ト と SCC リ ポ ジ ト リ と の同期がずれてい る か ど う か を
判断す る 必要があ り ます (Perforce と ClearCase では必要あ り ません)。
し か し 、 SCC プ ロ バ イ ダは、 主フ ァ イ ル比較 メ ソ ッ ド と し て、 SccDiff
ではな く SccQueryInfoEx を実装す る こ と がで き ま す。 SccQueryInfoEx
メ ソ ッ ド は、 要求 さ れた各オブジ ェ ク ト の最新バージ ョ ン番号を返 し
ます。 こ れに よ り 、 PowerBuilder で PBL のオブジ ェ ク ト に関連付け ら
れてい る バージ ョ ン番号 と 、 SCC リ ポジ ト リ の参考 リ ビ ジ ョ ン のバー
ジ ョ ン番号を比較 し て、 オブジ ェ ク ト が同期 し てい る か ど う か を判断
す る こ と がで き ます。
28
第2章
ソ ース管理の機能拡張
SccQueryInfoEx は SccDiff よ り かな り 単純な要求なので、 SCC プ ロ バ
イ ダで こ の機能を実装す る と 、 PowerBuilder IDE のパ フ ォ ーマ ン ス が
著 し く 向上 し ま す。 こ の機能を実装 し てい る プ ロ バ イ ダでは、 リ ポ ジ
ト リ の オ ブ ジ ェ ク ト で バ ー ジ ョ ン 番 号 が 返 さ れ な い 場合 に の み、
SccDiff 呼び出 し がバ ッ ク ア ッ プ手段 と し て使用 さ れます。 ま た、 こ れ
ら のプ ロ バ イ ダでは、 登録フ ァ イ ルのバージ ョ ン番号を ラ イ ブ ラ リ ペ
イ ン タ に表示で き ます。
バージ ョ ン番号の表示方法については、 31 ページ の 「 ラ イ ブラ リ ペ
イ ン タ のリ ス ト ビ ュ ーの機能拡張」 を参照 し て く だ さ い。
新 し い API メ ソ ッ ド に SCC プ ロ バ イ ダ の DLL が実装 さ れ て エ ク ス
ポ ー ト さ れ る と 、 PowerBuilder は自動的に そ の プ ロ バ イ ダ と と も に
SCCQueryInfoEx 呼び出 し の使用を開始 し ま す。 現在、 SccQueryInfoEx
メ ソ ッ ド は PBNative が使用 し てい ます。
PBNative でのバージ ョ ン番号のサポー ト については、 次の 「 PBNative
構成の機能拡張」 を参照 し て く だ さ い。
PBNative 構成の機能拡張
バージ ョ ン番号のサ
ポー ト
PowerBuilder 9 では、 PBNative ソ ース管理を使っ て PBNative アーカ イ
ブ デ ィ レ ク ト リ のオブ ジ ェ ク ト を 登録す る と 、 そ のオブ ジ ェ ク ト の
PRP フ ァ イ ルにバージ ョ ン 番号が追加 さ れ ま す。 新規 リ ビ ジ ョ ン に
チ ェ ッ ク イ ンす る と 、 バージ ョ ン番号が イ ン ク リ メ ン ト さ れ ます。 オ
ブジ ェ ク ト のバージ ョ ン番号を表示す る と き は、 オブジ ェ ク ト のポ ッ
プ ア ッ プ メ ニ ュ ーか ら 開いた履歴 ダ イ ア ロ グ ボ ッ ク ス や ラ イ ブ ラ リ
ペ イ ン タ にバージ ョ ン番号が表示 さ れます。
PBNative の履歴 ダ イ ア ロ グ ボ ッ ク ス については、 27 ページの 「 ソ ー
ス 管理履歴の機能拡張」 を参照 し て く だ さ い。 ラ イ ブ ラ リ ペ イ ン タ で
のバージ ョ ン番号の表示については、 31 ページ の 「 ラ イ ブラ リ ペイ
ン タ のリ ス ト ビ ュ ーの機能拡張」 を参照 し て く だ さ い。
バージ ョ ン番号によ る
同期のずれの判断
ワ ー ク スペース の初期化時に、 PowerBuilder 9 では最 も 効率的な方法
で、 オブジ ェ ク ト が ソ ース管理 リ ポジ ト リ と 同期が取れてい る か ど う
か を判断 し ます。 PBNative ソ ース管理を使用 し てい る 場合は、
PowerBuilder がバージ ョ ン番号を使っ て こ の判断を行い ます。 オブ
ジ ェ ク ト が同期を取 る 速度を上げて も PowerBuilder UI には影響あ り
ませんが、 パフ ォーマ ン ス が大幅に向上 し ます。
29
PBNative 構成の機能拡張
相対デ ィ レ ク ト リ の指
定
PowerBuilder 9 では、 ラ イ ブ ラ リ リ ス ト で指定 さ れてい る PBL フ ァ イ
ル に つ い て、 “..¥” 文字 列 が タ ー ゲ ッ ト に 含 ま れ て い る 場 合 で も 、
PBNative はオブジ ェ ク ト を タ ーゲ ッ ト でアーカ イ ブす る こ と がで き ま
す。
差分表示オプ シ ョ ン
PowerBuilder 9 には、 PBNative で使用す る 差分表示ユーテ ィ リ テ ィ に
ついて設定で き る オプシ ョ ン があ り ま す。 ワ ー ク ス ペー ス の フ ァ イ ル
名を右 ク リ ッ ク し て [ ワー ク スペース のプ ロ パテ ィ ] を選択 し 、 ワ ー
ク スペー ス のプ ロ パテ ィ ダ イ ア ロ グ ボ ッ ク ス を開 き ま す。 [ ソ ー ス 管
理] タ ブで ソ ース管理シ ス テ ム と し て [PB Native] を選択 し 、 [高度設
定] ボ タ ン を ク リ ッ ク す る と 、 PBNative コ マ ン ド オプシ ョ ン ダ イ ア ロ
グ ボ ッ ク ス が表示 さ れます。
次のオプシ ョ ン のいずれか、 ま たはすべて を選択で き ます。
30
オプ シ ョ ン
フ ァ イ ル名 を 引用符で
囲む
こ のオプ シ ョ ン を選択する場合
差分表示ユーテ ィ リ テ ィ で、 フ ァ イ ル名に含 ま れ
る スペース が処理 さ れない場合
引 数 #1 と し て ロ ー カ
ル PBL エン ト リ を参照
する
短い (8.3) フ ァ イ ル名
を生成す る
フ ァ イ ル引数の前に空
白を余分に追加す る
差分表示ユーテ ィ リ テ ィ で、 フ ァ イ ルを比較す る
と き の最初の フ ァ イ ル と し て リ ポジ ト リ オブジ ェ
ク ト を使用 し た く ない場合
差分表示ユーテ ィ リ テ ィ で、 長い フ ァ イ ル名が処
理 さ れない場合
コ マ ン ド ラ イ ンか ら 差分表示ユーテ ィ リ テ ィ を開
く と き に、 引数 と し て リ ス ト さ れ る フ ァ イ ル間に
スペース を追加す る 必要があ る 場合。 PowerBuilder
8 では自動的に スペース が追加 さ れたため、こ のオ
プシ ョ ンは下位互換性のためにのみ追加 さ れてい
る
第2章
ソ ース管理の機能拡張
ラ イ ブ ラ リ ペ イ ン タ の リ ス ト ビ ュ ーの機能拡張
バージ ョ ン番号の表示
PowerBuilder 9 では、 ソ ー ス 管理シ ス テ ム で SccQueryInfoEx メ ソ ッ ド
を サポー ト し てい る場合には、 ラ イ ブ ラ リ ペ イ ン タ の リ ス ト ビ ューに
ソ ース 管理に登録 さ れてい る 全フ ァ イ ルのバージ ョ ン番号を表示で き
ます。 現在、こ の メ ソ ッ ド をサポー ト し てい る のは PBNative だけです。
フ ァ イ ルのバージ ョ ン番号を表示す る 機能は、 ラ イ ブ ラ リ ペ イ ン タ の
オプシ ョ ン ダ イ ア ロ グ ボ ッ ク ス の [SCC バージ ョ ン番号] オプシ ョ ン
で制御 し ます。 こ のオプシ ョ ンは、デフ ォ ル ト で選択 さ れてい ます。 ラ
イ ブ ラ リ ペ イ ン タ の メ ニ ュ ーで [デザ イ ン|オプシ ョ ン] を選択 し て、
オプシ ョ ン ダ イ ア ロ グ ボ ッ ク ス を開 き ます。
バージ ョ ン番号は、 PowerScript タ ーゲ ッ ト の タ ーゲ ッ ト PBL と 、 ワー
ク スペース の PBC フ ァ イ ルに格納 さ れます。 PBL に リ ス ト さ れてい る
オブジ ェ ク ト のバージ ョ ン番号が優先的に表示 さ れ ます。
バージ ョ ン番号の
上書き
SccQueryInfoEx メ ソ ッ ド がサポー ト さ れ る ソ ー ス 管理シ ス テ ム では、
ロ ーカ ル フ ァ イ ルのバージ ョ ン 番号 を 手動で上書 き で き ま す。 た だ
し 、 上書 き で き る のは、 PowerScript オブジ ェ ク ト で、 かつ ソ ース管理
に接続 し てい る 場合だけです。
こ の 機能 は、 参考 リ ビ ジ ョ ン で な い バー ジ ョ ン の オ ブ ジ ェ ク ト の
チ ェ ッ ク ア ウ ト を許可 し てい る ソ ース管理シ ス テ ム で使用す る と 、 便
利な場合があ り ま す。 し か し 、 フ ァ イ ル を ソ ー ス管理に再びチ ェ ッ ク
イ ンす る と き は、 ソ ース管理シ ス テ ム が単独で参考 リ ビ ジ ョ ン のバー
ジ ョ ン 番号 を 決定 し ま す。 こ れは ソ ー ス 管理 シ ス テ ム か ら 返 さ れ た
バージ ョ ン で、 PBC フ ァ イ ル と 、 ロ ーカル デ ィ レ ク ト リ の PBL に追
加 さ れ る も のです。
31
ソ ース管理ログの機能拡張
ソ ー ス 管理 さ れてい る PowerScript オブジ ェ ク ト の ロ ーカル バージ ョ
ン番号は、 プ ロ パテ ィ ダ イ ア ロ グ ボ ッ ク ス で変更で き ます。 こ のダ イ
ア ロ グ ボ ッ ク ス は、 シ ス テ ム ツ リ ーま たは ラ イ ブ ラ リ ペ イ ン タ の、 オ
ブジ ェ ク ト のポ ッ プア ッ プ メ ニ ュ ーか ら 表示で き ます。 ワー ク スペー
ス の ソ ー ス 管理シ ス テ ム で SccQueryInfoEx メ ソ ッ ド がサポー ト さ れ、
ソ ー ス 管 理 に 接 続 し て い る 場 合 に は、 ソ ー ス 管 理 さ れ て い る
PowerScript オブジ ェ ク ト (PBT 以外) のプ ロ パテ ィ ダ イ ア ロ グ ボ ッ ク
ス に、 編集可能な [SCC バージ ョ ン] テ キ ス ト ボ ッ ク ス が表示 さ れ ま
す。 ワー ク スペース の ソ ース管理シ ス テ ムで SccQueryInfoEx メ ソ ッ ド
がサポー ト さ れていない場合、 ま たは ソ ー ス管理に接続 し ていない場
合には、 [SCC バージ ョ ン] テ キ ス ト ボ ッ ク ス はグ レー表示 さ れてい
ます。
ロー カル変更のみ
手動で入力 し たオブジ ェ ク ト のバージ ョ ン番号は、 チ ェ ッ ク イ ン時に
破棄 さ れ ま す。 参考 リ ビ ジ ョ ン が割 り 当て ら れ る 番号 を 決定す る の
は、 ソ ース管理プ ロ バ イ ダのみです。
ソ ース管理ログの機能拡張
SccLogLevel プ ロ パテ ィ を PB.INI フ ァ イ ルの [Library] セ ク シ ョ ン に
追加 し て、 1 ~ 3 の値を割 り 当て る と 、 ソ ース管理 ロ グ作業の診断レ
ベルを 3 段階で設定で き ます。
デフ ォ ル ト では、 診断レベルは レベル 1 に設定 さ れてい ます。 レベル
2 では、 エ ラ ー発生時の診断情報が ロ グ記録に追加 さ れ、 レベル 3 で
は、 特定の ソ ー ス 管理操作に関す る メ タ デー タ と ス テー タ ス キ ャ ッ
シ ュ の詳細が ロ グ記録に追加 さ れ ます。
32