第 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
© Copyright 2024 Paperzz