PowerBuilder .NET

PowerBuilder 12.5 の新機能
3RZHU%XLOGHU®
12.5
PowerBuilder 12.5 の新しい機能
本ヘルプでは、PowerBuilder Classic および PowerBuilder .NET の今回のリリースで紹介された重要な機能を紹介します。
2
PowerBuilder Classic と PowerBuilder .NET
この節では PowerBuilder® Classic と PowerBuilder .NET の両方に共通する新機能について説明します。
Width.AutoSize Property
グリッド提示様式「DataWindow」で、Width.AutoSize プロパティは、カラム内のデータに応じてカラムの幅が調整されるかど
うかを決定します。
Tab Sequence、Enabled、および Show Focus Rectangle の各プロパティのサポート
これらのプロパティは、PowerBuilder Classic データウィンドウでサポートされています。PowerBuilder .NET WPF データウィ
ンドウは、Tab Sequence と Enabled のみをサポートしています。
ASE 15.5 の新しいデータ型のサポート
PowerBuilder は ASE 15.5 の次の新しいデータ型をサポートしています。BIGTIME および BIGDATETIME があります。
2011 年 10 月 25 日作成。このヘルプ トピックに関するフィードバックは、日本コンピュータシステム株式会社 第3事業部に送信して
ください:[email protected]
3
Width.AutoSize プロパティ
グリッド提示様式 DataWindow で、Width.AutoSize プロパティは、カラム内のデータに応じてカラムの幅が調整されるかどうかを決定
します。
対象
グリッド提示様式の中にあるカラム コントロール
解説
AutoWidth プロパティは、以下のいずれかの数値を取ります。
0 - AutoWidth なし:これはデフォルト値です。
1 - AutoWidth は表示される行に対して計算され(単調)、最も広いカラムの幅がスクロールによって狭くなっても、小さくなり
ません。
2 - AutoWidth は表示される行に対して計算されます(単調ではない)。
3 - AutoWidth は、検索したすべての行に対して計算されます。
ユーザが AutoWidth プロパティを設定することもできます。
ペインタのプロパティ ビューで、AutoWidth プロパティのいずれかの値をドロップダウン リストから選択します。
スクリプトで、AutoWidth プロパティをいずれかの数値に設定します。
詳細については、『データウィンドウ リファレンス』マニュアルを参照してください。
親トピック: PowerBuilder Classic と PowerBuilder .NET
2011 年 10 月 25 日作成。このヘルプ トピックに関するフィードバックは、日本コンピュータシステム株式会社 第3事業部に送信して
ください:[email protected]
4
Tab Sequence、Enabled、および Show Focus Rectangle の各プロパティの
サポート
これらのプロパティは、PowerBuilder Classic データウィンドウでサポートされています。PowerBuilder .NET WPF データウィンドウ
は、Tab Sequence と Enabled のみをサポートしています。
Tab Sequence プロパティは式にすることができませんが、Enabled と Show Focus Rectangle の各プロパティは式にすることができ
ます。
カラム以外のすべてのコントロールで Tab Sequence のデフォルト値は 0 であり、以前の動作を継承しました。必要に応じてこ
の動作を編集できます。
Enabled プロパティのデフォルト値は「yes」です。
Show Focus Rectangle プロパティのデフォルト値は「no」です。
注意: Show Focus Rectangle プロパティは、PowerBuilder Classic のみでサポートされています。
現在、以下のデータウィンドウ コントロールには、Tab Sequence、Enabled、および Show Focus Rectangle の各プロパティがありま
す。
ボタン (Show Focus Rectangle は適用されない)
計算フィールド
グラフ
ピクチャ
表 Blob
テキスト
カラム コントロールには Enabled プロパティがありません。このコントロールには、同じ効果を達成する既存のメカニズムがあるため
です。
PowerBuilder Classic は、OLE オブジェクトと OLE データベース Blob でこれらのプロパティをサポートしています。
親トピック: PowerBuilder Classic と PowerBuilder .NET
2011 年 10 月 25 日作成。このヘルプ トピックに関するフィードバックは、日本コンピュータシステム株式会社 第3事業部に送信して
ください:[email protected]
5
ASE 15.5 の新しいデータ型のサポート
PowerBuilder は、ASE 15.5 の次の新しいデータ型をサポートします。BIGTIME および BIGDATETIME があります。
BIGTIME: 時、分、秒、および秒の小数部を含みます。小数部は小数点以下 6 桁まで格納されます。
BIGDATETIME: 年、月、日、時、分、秒、および秒の小数部を含みます。小数部は小数点以下 6 桁まで格納されます。
親トピック: PowerBuilder Classic と PowerBuilder .NET
2011 年 10 月 25 日作成。このヘルプ トピックに関するフィードバックは、日本コンピュータシステム株式会社 第3事業部に送信して
ください:[email protected]
6
PowerBuilder Classic
この節では PowerBuilder Classic IDE 専用の新機能について説明します。
ウィンドウ コントロールの透明性の値と透明性プロパティ
PowerBuilder 12.5 はウィンドウ コントロール用の 2 つの新機能を導入しました。
.NET とのデータソースの共有
ADO.NET 接続を共有するために、新しいサポートが追加されました。
データウィンドウ オブジェクト内での RTF と画像
PowerBuilder 12.5 は計算フィールドで、RTF、画像、および XPS データベース Blob、さらに RichText と RichTextFile の各式
関数を導入しました。
データウィンドウ オブジェクト内でのユーザ描画コントロール
Paint 式関数を使って、データウィンドウの中で多角形、矢印のヒント、円グラフの扇形などのオブジェクトを描画できます。
2011 年 10 月 25 日作成。このヘルプ トピックに関するフィードバックは、日本コンピュータシステム株式会社 第3事業部に送信して
ください:[email protected]
7
ウィンドウ コントロールの透明性の値と透明性プロパティ
PowerBuilder 12.5 はウィンドウ コントロール用の 2 つの新機能を導入しました。
ウィンドウ コントロール BackColor 用の透明性の値
ウィンドウ コントロール用の透明性プロパティ
以下のコントロールは、この新しい値とプロパティをサポートします。
ピクチャボタン
チェックボックス
ラジオボタン
スタティック ハイパーリンク
グループボックス
シングルライン エディット
エディットマスク
マルチライン エディット
リッチテキスト エディット
ドロップダウン リストボックス
ドロップダウン ピクチャリストボックス
リストビュー
ツリービュー
タブ
グラフ
ユーザ オブジェクト
親トピック: PowerBuilder Classic
2011 年 10 月 25 日作成。このヘルプ トピックに関するフィードバックは、日本コンピュータシステム株式会社 第3事業部に送信して
ください:[email protected]
8
.NET とのデータ ソースの共有
ADO.NET 接続を共有するために、新しいサポートが追加されました。
PowerBuilder 12.5 は、PowerBuilder (Win32) と、COM で公開されているサードパーティ .NET アセンブリの間で ADO.NET 接続を共
有する機能を備えています。PowerBuilder ネイティブ アプリケーションは、サードパーティ .NET アセンブリから ADO.NET 接続をイ
ンポートする機能と、ADO.NET 接続をサードパーティ アセンブリにエクスポートする機能を備えています。この機能は
PowerBuilder.NET にすでに存在していますが、PowerBuilder Classic IDE は .NET COM Interop を使ってこの機能のネイティブ バー
ジョンをサポートします。
2 つのメソッドが、PowerBuilder のトランザクション NVO に追加されました。
bool SetAdoConnection(oleobject connectionProxy)
外部 ADO.NET 接続をインポートします。
oleobject GetAdoConnection()
接続先の PB トランザクション インスタンスから ADO.NET 接続をエクスポートします。
これら 2 つのメソッドを呼び出して、PB アプリケーションとサードパーティ .NET アセンブリの間で ADO.NET DB 接続を共有するた
めのプロキシを取得または設定できます。
親トピック: PowerBuilder Classic
2011 年 10 月 25 日作成。このヘルプ トピックに関するフィードバックは、日本コンピュータシステム株式会社 第3事業部に送信して
ください:[email protected]
9
データウィンドウ オブジェクト内での RTF と画像
PowerBuilder 12.5 は計算フィールドで、RTF、画像、および XPS データベース Blob、さらに RichText と RichTextFile の各式関数を
サポートしています。
RTF、画像、および XPS データベース Blob の各機能は、PowerBuilder .NET の既存の機能を移植したものです。
RichText 式関数は引数として String 型の式を取り、RTF ファイルとして解釈し、RTF ファイルとして表示します。引数が RTF ではな
い場合、何も表示されません。
RichTextFile は引数として String 型の式を取り、RTF ファイルの名前として解釈し、RTF ファイルの名前として表示します。引数が
RTF ファイルではない場合、何も表示されません。
親トピック: PowerBuilder Classic
2011 年 10 月 25 日作成。このヘルプ トピックに関するフィードバックは、日本コンピュータシステム株式会社 第3事業部に送信して
ください:[email protected]
10
データウィンドウ オブジェクト内でのユーザ描画コントロール
Paint 式関数を使って、データウィンドウの中で多角形、矢印のヒント、円グラフの扇形などのオブジェクトを描画できます。
Paint 式関数は 1 つの String 型の式を引数として取り、同じ String 型を返します。この結果、他のデータウィンドウ オブジェクトの位
置と Z オーダーを考慮する方法で、データウィンドウ内で描画することができます。
構文
Paint(expr) ここで、expr には、任意の有効なデータウィンドウ式を使用できます。この中に、表示ロジックを含む描画グローバル関
数への関数を呼び出しを含める必要があります。仮にexpr が String 型の式であり、その値が null ではない場合、評価された String 型
の式が計算フィールドで表示されます。
この機能は、次のサポート関数も備えています。
GetPaintDC()
GetPaintRectX()
GetPaintRectY()
GetPaintRectWidth()
GetPaintRectHeight()
は、描画対象の GDI コンテキストを返します。GDI コンテキストのクリップ領域は、他の関数で定義された長方形と同
じであることが保証されます。
GetPaintDC()
GetPaintRectX() , GetPaintRectY() , GetPaintRectWidth() およびGetPaintRectWidth()
ス コンテキストは、これらの境界内に収まるように切り取られます。
は、計算フィールドの境界を返します。デバイ
例1
この例は描画関数をインスタンス化し、描画関数が false を返した場合、「Bail out」(終了)テキストが表示されます。
Paint
(
MyDrawPieSlice
(
GetPaintDC(),
GetPaintRectX(),
GetPaintRectY(),
GetPaintRectWidth(),
GetPaintRectHeight(),
GetRow()*100/RowCount()
)
)
Paint
(
MyDrawPieSlice
(
GetPaintDC(),
GetRow()*100/RowCount()
Paint
(
if (MyDrawPieSlice(getpaintdc()),"","Bail out")
)
親トピック: PowerBuilder Classic
2011 年 10 月 25 日作成。このヘルプ トピックに関するフィードバックは、日本コンピュータシステム株式会社 第3事業部に送信して
ください:[email protected]
11
PowerBuilder .NET
この節では PowerBuilder .NET IDE 専用の新機能について説明します。
.NET 4.0 Framework
PowerBuilder は .NET 4.0 用にランタイム ライブラリをアップグレードしました。
Visual Studio 2010 Isolated Shell
PowerBuilder .NET 12.5 は Visual Studio 2010 Isolated Shell Service Pack 1 を使用します。
スクリプト エディタの変更
PowerScript エディタは拡張されました。
バッチ コマンド処理
PowerBuilder .NET は、バッチ構築処理を導入しました。
マルチスレッドのサポート
PowerBuilder は、マルチスレッド化アプリケーションのランタイム サポートを拡張しました。
ターゲット
この節では PowerBuilder .NET IDE 専用の新機能について説明します。
言語拡張
この節では PowerBuilder .NET IDE 専用の新機能について説明します。
WPF データウィンドウ拡張
この節では PowerBuilder .NET IDE 専用の新機能について説明します。
2011 年 10 月 25 日作成。このヘルプ トピックに関するフィードバックは、日本コンピュータシステム株式会社 第3事業部に送信して
ください:[email protected]
12
.NET 4.0 Framework
PowerBuilder は .NET 4.0 用にランタイム ライブラリをアップグレードしました。
PowerBuilder 12.5 は、Microsoft .NET Framework 4.0 を使って構築しました。つまり、.NET アプリケーション用の改善されたセキュ
リティ、フレームワーク内での改善された例外処理、WPF コントロール用の WPF 4 拡張の使用など、実現された改善を活用するよう
にランタイム ライブラリがアップグレードされました。
親トピック: PowerBuilder .NET
2011 年 10 月 25 日作成。このヘルプ トピックに関するフィードバックは、日本コンピュータシステム株式会社 第3事業部に送信して
ください:[email protected]
13
Visual Studio 2010 Isolated Shell
PowerBuilder .NET 12.5 は Visual Studio 2010 Isolated Shell Service Pack 1 を使います。
この新しいシェルには、拡張が施されています。
ウィンドウは、統合開発環境(IDE)の編集用フレームの制約を受けなくなりました。ウィンドウを IDE の境界にドッキングす
るか、IDE の外部に浮動化させるか、デスクトップ上の任意の場所に移動することができます。さらに、ウィンドウを別のモニ
タに移動することもできます。
ヘルプ ビューアも完全に再設計されました。ヘルプは Web ブラウザ内、またはブラウザのフレーム内で表示されるようになり
ました。
親トピック: PowerBuilder .NET
2011 年 10 月 25 日作成。このヘルプ トピックに関するフィードバックは、日本コンピュータシステム株式会社 第3事業部に送信して
ください:[email protected]
14
スクリプト エディタの変更
PowerScript エディタは拡張されました。
改善点は、セマンティックのチェックの改善や、識別子、式、および代入文のサポートなどです。
親トピック: PowerBuilder .NET
2011 年 10 月 25 日作成。このヘルプ トピックに関するフィードバックは、日本コンピュータシステム株式会社 第3事業部に送信して
ください:[email protected]
15
バッチ コマンド処理
PowerBuilder .NET は、バッチ構築処理を導入しました。
pbshell コマンドは、直接の介在なしでバッチ構築と配布をサポートします。
詳細については、『PowerBuilder .NET 新機能ガイド』マニュアルの「バッチ コマンド処理」を参照してください。
親トピック: PowerBuilder .NET
2011 年 10 月 25 日作成。このヘルプ トピックに関するフィードバックは、日本コンピュータシステム株式会社 第3事業部に送信して
ください:[email protected]
16
マルチスレッドのサポート
PowerBuilder は、マルチスレッド化アプリケーションのランタイム サポートを拡張しました。
共有オブジェクトを使う複数のアプリケーションを、マルチスレッド化環境で実行できます。以前の PowerBuilder .NET のランタイム
ライブラリにはデータの同期を取る方法が備わっていなかったため、データが破損しやすい傾向にありました。また、以前のバージョ
ンの PowerBuilder では静的フィールドへのアクセス用のロック メカニズムにより、アセンブリが NVO インスタンスを使用するように
なり、再入に関連する問題を招きやすい傾向もありました。
PowerBuilder 12.5 では、静的フィールドに関連する NVO アセンブリの問題を解決するように変更されました。また、マルチスレッド
化アプリケーション用に、.NET Thread 関数と .NET スレッド同期関数を使うこともできます。
PowerBuilder .NET IDE でのサポートについては「マルチスレッドの使用」を、また、PowerBuilder Classic については「.NET 同期の
使用」を参照してください。
親トピック: PowerBuilder .NET
2011 年 10 月 25 日作成。このヘルプ トピックに関するフィードバックは、日本コンピュータシステム株式会社 第3事業部に送信して
ください:[email protected]
17
ターゲット
この節では PowerBuilder .NET IDE 専用の新機能について説明します。
WCF サービス
新しい PowerBuilder のターゲットは、Microsoft WCF モデルを使用するアプリケーションを構築します。
.NET アセンブリ内での CVUO のサポート
.NET アセンブリ ターゲットはカスタム ビジュアル ユーザ オブジェクトを公開します。
WPF ターゲット内での分割アセンブリのサポート
WPF ターゲットは、単一のビルドから複数のアセンブリを生成する手段を備えています。これは単一の EXE ではなく、1 つの
EXE と、1 つ以上の DLL です。
PB アセンブリ ターゲット
PB アセンブリ ターゲットを使って 1 つ以上の PBL からなるセットから単一のアセンブリを構築し、別のターゲットからそのア
センブリを参照することができます。
REST クライアント
PowerBuilder 12.5 には、新しい REST クライアントがあります。
親トピック: PowerBuilder .NET
2011 年 10 月 25 日作成。このヘルプ トピックに関するフィードバックは、日本コンピュータシステム株式会社 第3事業部に送信して
ください:[email protected]
18
WCF サービス
新しい PowerBuilder のターゲットは、Microsoft WCF モデルを使用するアプリケーションを構築します。
PowerBuilder は現在、PowerBuilder 内の WS-I プロファイルに適合する従来型の Web サービスのみを作成します。これは ASP.NET
フレームワークを利用し、PB.NET Web フォーム アプリケーションとランタイムの上に構築されます。また、単一の .asmx ファイル
と、個別の .NET アセンブリの中で構築される単一の ASP.NET Web サービス クラスによって形成されます。これら両者は、IIS サー
バの仮想フォルダに配布されます。従来型の ASP.NET Web サービスでは機能が制限されています。たとえば、サポートするのは
HTTP と HTTPS トランスポート、および XML メッセージ エンコードとトランスポート レベル セキュリティのみです。
WCF は、サービス指向アプリケーションを構築するための Microsoft の統合プログラミング モデルです。開発者は、複数のプラット
フォーム間での統合を達成し、既存の投資との相互運用を達成できる、セキュアで信頼性の高いトランザクション形式のソリューショ
ンを構築できます。従来型の Web サービスと比較して、WCF サービスは HTTP(S)、TCP、MSMQ、および名前付きパイプを含む、
より多くのトランスポートをサポートします。また、信頼性のあるメッセージングやトランザクションなどをサポートするために、ト
ランスポート レベル セキュリティとメッセージ レベル セキュリティの両方、さらに他の多くの WS 拡張仕様を備えていま
す。PowerBuilder 12.5 は、この新しいプログラミング モデルを活用するための新しいターゲットを備えています。
親トピック: ターゲット
2011 年 10 月 25 日作成。このヘルプ トピックに関するフィードバックは、日本コンピュータシステム株式会社 第3事業部に送信して
ください:[email protected]
19
.NET アセンブリ内での CVUO のサポート
.NET アセンブリ ターゲットはカスタム ビジュアル ユーザ オブジェクトを公開します。
.NET アセンブリ ターゲットはカスタム ビジュアル ユーザ オブジェクト(CVUO)を公開します。.NET 開発環境で出力アセンブリを
使用する場合は、ビジュアル オブジェクトは、WPF ウィンドウまたはユーザ コントロールに対して追加できる WPF ユーザ コント
ロールとして使用できます。
このサポートは、.NET アセンブリ内での非ビジュアル オブジェクト(NVO)のサポートに似ていて、同じウィザードと同じプロジェ
クト ペインタ インタフェースを備えています。関数、イベント、プロパティ、.NET プロパティ、インスタンス変数、およびインデッ
クス作成機能は、プロジェクト ペインタの[オブジェクト]タブを通じて公開されます。クラスとメソッドに対して Visual Studio
IntelliSense の記述を提供することもできます。
.NET Assembly Project ペインタで、[オブジェクト]タブの[CVOのみをエクスポート]オプションを選択し、単一の CVUO のみの
配布を選択することもできます。このオプションを選択した場合は、他のどの要素もエクスポートされません。他の要素を配布するに
は、最初に[CVOのみをエクスポート]を選択解除する必要があります。
制限事項
.NET アセンブリ内で標準ビジュアル ユーザ オブジェクト(SVOU)を使用することもできますが、これらは直接公開されませ
ん。
PowerBuilder は、内側のコントロール用のイベントを公開せず、CVOU 用のカスタマイズしたイベントのみを公開します。
親トピック: ターゲット
2011 年 10 月 25 日作成。このヘルプ トピックに関するフィードバックは、日本コンピュータシステム株式会社 第3事業部に送信して
ください:[email protected]
20
WPF ターゲット内での分割アセンブリのサポート
WPF ターゲットは、単一のビルドから複数のアセンブリを生成する手段を備えています。これは単一の EXE ではなく、1 つの EXE
と、1 つ以上の DLL です。
プロジェクト ペインタには以下の 2 つの追加タブがあります。[アセンブリ]と[依存関係]です。
ターゲットの PBL からどのアセンブリを構築する必要があるかを判断するには、[アセンブリ]タブを使用します。WPF ターゲット
ライブラリ リスト内の PBL ごとに、1 つのの出力アセンブリを選択できます。リスト ビューの 2 番目のカラムにあるドロップダウン
リストには、".DLL" が付いているすべての PBL の名前が含まれています。2 番目のカラムでアセンブリ名を 1 つ選択すると、その名前
の出力アセンブリに PBL を含めることになります。同じ出力名を選択すると、左のカラムにある複数の PBL を同じ出力アセンブリの
中に含めて構築を実行できます。2 番目のカラムの値を空白にすることは、PBL から実行ファイルを構築することを意味します。ま
た、2 番目のカラムに名前を入力することもできます。その名前はすべてのドロップダウン リストに追加され、指定した名前を持つ同
じ出力アセンブリの中に複数の PBL を含めて構築を実行できるようになります。
読み取り専用の[依存関係]タブは、構築の順序を決定するために、どの出力アセンブリが別の出力アセンブリに依存しているかを表
します。依存関係チェッカを実行してこのページを更新できます。
依存関係チェック
完全な依存関係チェック プロセスが完了した後、Assembly Dependencies ツール ウィンドウに詳細な依存関係情報が表示されます。
依存関係チェック プロセスは、以下の方法で発生させることができます。
[デザイン|依存関係チェック]メニュー、または WPF プロジェクト オブジェクトのコンテキスト メニューから手動で発生さ
せるか、または、
出力アセンブリの設定を変更した後、フル構築プロセスによって自動的に発生させる
出力ウィンドウに表示されたすべての依存関係エラーは、ターゲットのフル構築を実行する前に解決する必要があります。
依存関係エラー(実行ファイルに対する依存関係、または循環依存関係)を解決するには、以下の方法を試すことができます。
1. 依存関係エラーを持つ PBL を、単一の出力アセンブリの中で結合する。
2 ある PBL から別の PBL へオブジェクトを移動する。
3 複数のグローバル変数が、多数のオブジェクトおよび多数の PBL の中で集中的に使用されている場合は、それらのグローバル変
数を単一の出力アセンブリに含めて構築を実行する。
4 別のオブジェクトを使用するようにコードのリファクタリングを行う。たとえば、グローバル変数のかわりに、ローカル変数ま
たはインスタンス変数を使用する。
5 集中的に使用されているオブジェクトを、多数の異なる PBL から新しい単一の PBL に移動し、単一の出力アセンブリを構築す
る。
6 かわりにローカル外部関数を使用することで、グローバル外部関数の依存関係エラーを解決する。これは現在の制限事項が原因
です。
親トピック: ターゲット
2011 年 10 月 25 日作成。このヘルプ トピックに関するフィードバックは、日本コンピュータシステム株式会社 第3事業部に送信して
ください:[email protected]
21
PB アセンブリ ターゲット
PB アセンブリ ターゲットを使って 1 つ以上の PBL からなるセットから単一のアセンブリを構築し、別のターゲットからそのアセンブ
リを参照することができます。
PB アセンブリ ターゲットは、PowerBuilder Classic のランタイム ライブラリ(.PBD)に似ています。PB アセンブリ ターゲットの中
で定義されているアプリケーション オブジェクトとすべてのグローバル変数 (システム変数とユーザ定義変数) は、PB アセンブリ ター
ゲット自体の中でのみ使用されます。複数のターゲットにまたがってそれらの変数を使用することはできません。
PB アセンブリ ターゲットには以下の特徴があります。
すべての PowerBuilder オブジェクト型を含めることができる
Solution Explorer の中で参照先 PB アセンブリが展開されているときに、すべての PowerBuilder オブジェクトを展開する
DLL アセンブリを出力する
"AssemblyExtraInfo(true)" 属性を持つことによって識別できる
一度構築した後は、参照元ターゲットから構築する必要がない
(.NET アセンブリ ターゲットとは異なり)PowerBuilder から直接使用される
PB アセンブリ内のグローバル オブジェクトはインスタンス化されません。グローバル オブジェクトは、アプリケーションからインス
タンス化された変数への参照を必要とします。アプリケーション内でインスタンス化されたグローバル変数を PB アセンブリに渡し、
その変数を、PB アセンブリ ターゲット内で定義されたグローバル変数に割り当てます。
親トピック: ターゲット
2011 年 10 月 25 日作成。このヘルプ トピックに関するフィードバックは、日本コンピュータシステム株式会社 第3事業部に送信して
ください:[email protected]
22
REST クライアント
PowerBuilder 12.5 には、新しい REST クライアントがあります。
REST クライアント機能を使用するには、以下の手順が必要です。
1. REST クライアント プロキシ プロジェクトを使って PB プロキシ NVO を生成する。
PowerBuilder は、URI、メソッド、およびユーザが指定するメッセージング形式を使って、リモート RESTful サービスごとに単
一のプロキシ NVO を生成します。
2 複雑なメッセージ スキーマを解析し、アセンブリを生成する。
PowerBuilder は .NET Framework 4.0 の Windows SDK から XSD.exe を実行し、スキーマを解析または生成し、次に C# ファイ
ルを生成します。その後、C# を使用してアセンブリが構築されます。PowerBuilder は要求メッセージごとに単一のアセンブリ
を生成し、必要な場合は応答メッセージに対して単一のアセンブリを生成します。プロジェクトを配布するときに、これらのア
センブリは自動的に PowerBuilder WPF ターゲット参照に追加されます。
Integer 型または String 型のような簡単な要求メッセージまたは応答メッセージに対して、アセンブリを作成する必要がない場合
もあります。かわりに、アセンブリの生成をスキップし、PowerBuilder のプリミティブ型を使うことができます。
3 プロキシ NVO をインスタンス化し、サービスを呼び出します。
親トピック: ターゲット
2011 年 10 月 25 日作成。このヘルプ トピックに関するフィードバックは、日本コンピュータシステム株式会社 第3事業部に送信して
ください:[email protected]
23
言語拡張
この節では PowerBuilder .NET IDE 専用の新機能について説明します。
.NET イベントの使用
PowerScript を使用してメソッドを .NET イベントに動的に接続できます。
.NET アセンブリ ターゲットの拡張
.NET アセンブリは、.NET アプリケーション開発で使用するために追加の PB 言語要素を公開できるように拡張されています。
親トピック: PowerBuilder .NET
2011 年 10 月 25 日作成。このヘルプ トピックに関するフィードバックは、日本コンピュータシステム株式会社 第3事業部に送信して
ください:[email protected]
24
.NET イベントの使用
PowerScript を使用してメソッドを .NET イベントに動的に接続できます。
PowerScript の中で、単一または複数のメソッドを .NET イベントに接続できます。メソッドとして、PowerBuilder のグローバル関
数、PowerBuilder オブジェクトのインスタンス関数、あるいは .NET オブジェクトのインスタンス関数または静的関数を使用できま
す。また、PowerScript の中で PowerBuilder イベントを .NET イベントに接続することもできます。
.NET イベントとともに変数またはパラメータを宣言することはできません。これは、.NET イベントが型ではないためで
す。PowerBuilder コード内で新しい .NET イベントを宣言することもできません。他の .NET 言語で定義された .NET イベント
を、PowerBuilder の中で += 演算子で使用することのみが可能です。
以下の例は、PowerScript の中で .NET イベントへの動的な接続を行う方法を示します。
「Clicked」は、サードパーティの .NET コントロール「system.windows.controls.button」の中で定義された .NET イベントです。
「OnClick1」は、「System.Windows.Controls.Button」コントロールの .NET イベント「Clicked」とまったく同じシグネチャを持つ
PowerBuilder イベントと仮定します。この拡張により、次の事例をサポートすることができます。
PowerBuilder の「OnClick1」イベントの定義:
Event OnClick1(system.object sender, RouteEventArgs e)
「OnClick1」を、「System.Windows.Controls.Button」コントロールに関するインスタンスの .NET イベント「Clicked」へ接続:
System.Windows.Controls.Button cb1
cb1 = create System.Windows.Controls.Button()
cb1.clicked += OnClick1
PowerBuilder イベントを、PowerBuilder コントロールである InnerControl の .NET イベントへ接続:
System.Windows.Controls.Button b
b = cb_1.InnerControl
b.Click += OnClick1
親トピック: 言語拡張
2011 年 10 月 25 日作成。このヘルプ トピックに関するフィードバックは、日本コンピュータシステム株式会社 第3事業部に送信して
ください:[email protected]
25
.NET アセンブリ ターゲットの拡張
.NET アセンブリは、.NET アプリケーション開発で使用するために追加の PB 言語要素を公開できるように拡張されています。
拡張されたアセンブリ ターゲットを使用すると、アプリケーションを再構築し、開発フレームワークを社内ユーザに提供できます。
プロジェクト ペインタの[オブジェクト]タブは、以下の追加言語要素を公開します。
ジェネリック型またはデリゲートをパラメータとして取る関数
パラメータ化されたコンストラクタ
イベント
インデックス作成機能
.NET プロパティ
インスタンス変数
インデックス作成機能とコンストラクタの名前を変更することはできません。
.NET アセンブリ内の追加言語要素
追加言語要素
NVO
VO
名前を変更できるか
説明を割り当てること
ができるか
ジェネリック型またはデリゲート
をパラメータとして取る関数
はい
はい
はい
はい
パラメータ化されたコンストラク
タ
はい
いいえ
いいえ
はい
イベント
いいえ
はい
はい
はい
インデックス作成機能
はい
はい
いいえ
はい
.NET プロパティ
はい
はい
はい
はい
インスタンス変数
はい
はい
はい
はい
PowerScript 構文
以下の例は、.NET アセンブリ内で公開できる追加言語要素に関する PowerScript 構文を示します。
ジェネリック型またはデリゲートをパラメータとして取る関数: public function integer f1(System.Collection.List<string>
s)
パラメータ化されたコンストラクタ: event constructor(string s)
インデックス作成機能: public integer this[Integer i][get,set]
.NET プロパティ: public integer p1[get,set]
インスタンス変数: public string s1
親トピック: 言語拡張
2011 年 10 月 25 日作成。このヘルプ トピックに関するフィードバックは、日本コンピュータシステム株式会社 第3事業部に送信して
ください:[email protected]
26
WPF データウィンドウの拡張
この節では PowerBuilder .NET IDE 専用の新機能について説明します。
最適化された SRD 構文
ネイティブ データウィンドウの設計に基づき、生成される SRD 構文から、Number、Boolean、および String プロパティの冗長
な構文が省略されました。
デバッガ内のデータ バッファ
データウィンドウ用のデバッガ ビジュアライザを使用して、主要、フィルタ済み、および削除済みの各データ バッファを表示で
きます。
子データウィンドウコントロールのサポート
子データウィンドウコントロールを多くのレベルでネストできます。
ローソク足チャート
ローソク足チャートを使用して、株式、債券、商品などの価格をビジュアル表示できます。
グローバル関数のリスト
データウィンドウ オブジェクト用の式ダイアログでグローバル関数が列挙されます。
親トピック: PowerBuilder .NET
2011 年 10 月 25 日作成。このヘルプ トピックに関するフィードバックは、日本コンピュータシステム株式会社 第3事業部に送信して
ください:[email protected]
27
最適化された SRD 構文
ネイティブ データウィンドウの設計に基づき、生成される SRD 構文から、Number、Boolean、および String プロパティの冗長な構文
が省略されました。
このルールは式のプロパティに適用されます。
親トピック: WPF データウィンドウ拡張
2011 年 10 月 25 日作成。このヘルプ トピックに関するフィードバックは、日本コンピュータシステム株式会社 第3事業部に送信して
ください:[email protected]
28
デバッガ内のデータ バッファ
データウィンドウ用のデバッガ ビジュアライザを使用して、主要、フィルタ済み、および削除済みの各データ バッファを表示できま
す。
データウィンドウ ビジュアライザとリストビュー ビジュアライザは、データウィンドウ スタイルまたは簡単なリストのどちらかを
使って、対応するバッファの値を表示します。
データウィンドウ ビジュアライザは、クロスタブ、コンポジット スタイル、およびレポート コントロールをサポートしません。リス
トビュー ビジュアライザは、コンポジット スタイルまたはレポート コントロールをサポートしません。Blob データは、リストビュー
ビジュアライザの中で System.Byte[] で表示されます。
親トピック: WPF データウィンドウ拡張
2011 年 10 月 25 日作成。このヘルプ トピックに関するフィードバックは、日本コンピュータシステム株式会社 第3事業部に送信して
ください:[email protected]
29
子データウィンドウコントロールのサポート
子データウィンドウコントロールを多くのレベルでネストできます。
ネストしたレポートを単一のデータウィンドウに挿入する場合、印刷プレビューモードのデータウィンドウ コントロールが使用されま
す。コンポジット スタイルのデータウィンドウ内でコントロールを使用する場合、子データウィンドウは編集可能です。
親トピック: WPF データウィンドウ拡張
2011 年 10 月 25 日作成。このヘルプ トピックに関するフィードバックは、日本コンピュータシステム株式会社 第3事業部に送信して
ください:[email protected]
30
ローソク足チャート
ローソク足チャートを使用して、株式、債券、商品などの価格をビジュアル表示できます。
直線の端点は、特定の日付または時間の最高値と最安値を示します。
長方形の上端と下端は、始値と終値を示し、どちらがどちらの値に対応するかは、始値が終値より高かったか、または安かった
かによって決まります。
空白の長方形は、値の上昇(陽線)を表します。塗りつぶされた長方形は値の下落(陰線)を表します。
パレットの使い方
任意のグラフに対して、色の設定に役立つパレットを定義できます。たとえば、国によっては赤は負を暗示し、値の下落に使用されま
すが、正を暗示し、値の上昇に使用される国もあります。
インデックス 0 のブラシの色は、下落に対応します。
インデックス 1 のブラシの色は、上昇に対応します。
親トピック: WPF データウィンドウ拡張
2011 年 10 月 25 日作成。このヘルプ トピックに関するフィードバックは、日本コンピュータシステム株式会社 第3事業部に送信して
ください:[email protected]
31
グローバル関数のリスト
データウィンドウ オブジェクト用の式ダイアログでグローバル関数が列挙されます。
親トピック: WPF データウィンドウ拡張
2011 年 10 月 25 日作成。このヘルプ トピックに関するフィードバックは、日本コンピュータシステム株式会社 第3事業部に送信して
ください:[email protected]
32