17Th
Developer Camp

【A2】 Delphi/C++Builder/RadPHP
テクニカルセッション
次期Delphi, C++Builder詳説「いよいよ登場！RAD Studio
XEの新機能」
エンバカデロ・テクノロジーズ
エヴァンジェリスト
高橋智宏

1

アジェンダ•Delphi XE, C++Builder XE の新機能
– Subversionクライアント機能の統合– 品質向上に役立つ追加機能– C++0x の右辺値参照– 正規表現ライブラリ– SOAPサーバのアップデート– dbExpressドライバのアップデート– DataSnapサーバ&クライアントのアップデート(Amazon EC2へのデプロイ)•RadPHP XE の新機能
– Apache, PHP のアップデート– ライブラリのアップデート– コンポーネントのアップデート– DataSnapへの接続サポート!!
– デバッグ&プロファイリング機能•登録ユーザー向けダウンロード•QualityCentralについて

2

17Th
Developer Camp

1Delphi XE
C++Builder XE

3

Subversionクライアント機能の統合•IDEにSubversionクライアント機能を内包– 別途Subversionクライアント/サーバーをインストールすることも可能•サンプルプロジェクト群は、Sourceforgeにホストされている

4

品質向上に役立つ追加機能 － その１•AQtime 7 Standard をIDEに統合– Delphi XE, C++Builder XE の双方に対応– プロジェクトオプションのデバッグ情報設定 や 対象モジュール(.bpl)の追加•ソースコードカバレッジ•パフォーマンスプロファイラ•メモリリークの検出, リソースリークの検出 etc…

レポート内容のフィルタリング

5品質向上に役立つ追加機能 － その２•CodeSite Express を同梱– Delphi XE, C++Builder XE, Prism XE のすべてに対応– 定義済みのグローバル または スレッドごとに自前で作成するTCodeSiteLoggerインスタンスを使用•ロギング用ライブラリ と ログビューワ•ログデータのファイルへの保存
EnterMethod
ExitMethodによる
CallStack情報6品質向上に役立つ追加機能 － その３•UMLでのシーケンス図の自動生成– Delphi言語のみ

クラス図などでメソッドを選択するだけ•プロジェクト全体のソースコード整形が可能– C++言語, Delphi言語の双方をサポート– コマンドラインツール Formatter.exe も搭載•UML図などのドキュメント生成ツール GenDocCLI.exe– Delphi言語のみ•検査(Audits)/測定(Metrics)実行ツール AuditsCLI.exe– Delphi言語のみ

7

C++0x の右辺値参照•不必要なメモリーコピーが回避可能になります– 従来のstd::unique_ptrに加え、std::string, std::wstring が新たに対応しました– ユーザー定義クラスでも利用可能•C++Builder 2010 と C++Builder XE を比べると…

2010

XE

8

正規表現ライブラリ - TRegEx•TPerlRegExベースの正規表現ライブラリ「TRegEx」が標準装備されるようになりました– TPerlRegEx = Perl-Compatible Regular Expressions•Delphi,C++Builder双方で利用可能– Delphiは RegularExpressionsユニットをuses– C++Builderは RegularExpressions.hppをinclude
DelphiC++Builder

9SOAPサーバのアップデート•SOAPサーバの実装タイプに、Indyベースの単体サーバが追加されました– 従来は、ISAPIのDLL または CGIのEXE のみ– IndyベースのVCLフォームアプリ, Indyベースのコンソールアプリ– Delphi, C++Builderの双方で作成可能•Webサービスのデバッグが簡単に行えます10

dbExpressドライバのアップデート(※)
Pro版

Ent版/Arc版

Unicode対応

MySQL 5.1, 5.0○(5.1のlibmysql.dllを使用、ローカル接続のみ)○(5.1のlibmysql.dllを使用)○

InterBase 2009, 2007, 7.5.1○(ローカル接続のみ)○○

Blackfish SQL(.NET/Java)

××○(RAD Studio2007/2009/2010)

Firebird 2.1, 1.5×○

○Oracle 11g, 10g

×

○

○

DB2 9.5, 9.1 Update!

×

○

×

MS SQL Server 2008,2005,2000

×○(2008のクライアン
トライブラリを使用)○

SQL Anywhere 11, 10, 9 Update!

×○○(11のみ)Sybase ASE 12.5

×

○

×

Informix 9.x

×

○

×

従来Oracle用dbExpressドライバで利用できたTSQLConnectionの接続パラメータ RowSetSize(デフォルト20) が、SQL Anywhereでも利用可能になりました。これにより、サーバー/クライアント間の結果セットのフェッチ回数を劇的に減らすことが可能になり、BDE並みのパフォーマンスの向上が得られます11※Embarcadero Delphi XE および C++Builder XE のリリース ノート - dbExpress サポート対象サーバー
http://edn.embarcadero.com/article/40796

DataSnapサーバのアップデート•C++Builder/C++言語を直接用いて、DataSnapサーバを実装できるようになりました•新しい新規作成ウィザードにより、HTTP/REST/JSONサーバを簡単に構築できるようになりました– RESTのサーバメソッドをテストできるHTMLページ(JavaScriptは自動生成)も用意されます12

DataSnapクライアントのアップデート•新しいウィザードにより、Delphi/C++Builder向けのクライアントプロキシモジュールを生成可能になりました– 従来のように、DataSnap用コンポーネントのコンテキストメニューから明示的にプロキシを生成させることも可能です13

Amazon EC2 へのデプロイ•[プロジェクト]-[クラウドへの配置…]ウィザード– Amazon EC2 へのログイン– Amazon EC2 内のインスタンス(Windows Server 2008)の検出– ファイルをWindows Server 2008に送信

Amazon EC2
us east のデータセンター
us west のデータセンター
検索
配置

Windows Server 2008
Windows Server 2008
Windows Server 2008

利用

DataSnapサーバ等

14

17Th
Developer Camp2

RadPHP XE

15

Apache, PHP のアップデート•Apache 2.2.15•PHP 5.2.13•Xdebug 2.1.0– PHPのデバッグ用拡張モジュール http://www.xdebug.org/– プロファイリング機能付き•PHP 5.3.x は、php_interbase.dll 等がまだ提供されていないので、RadPHP 3.0 の初期出荷では搭載を見送りました– ただし、RadPHPとRPCLコンポーネント(RadPHP Component Library)で作成したアプ
リケーションは PHP 5.3.x でも正しく動作します16フレームワークのアップデート•コンポーネントフレームワークの名称が「VCL for PHP」から「RPCL」変わりました– RPCL = RadPHP Component Library– バージョンは 3.0•RPCLの下位レイヤのライブラリも、最新バージョンになりました––––––

ADOdb 5.11
jQuery 1.3.2
nusoap 0.9.5
qooxdoo 1.1
Smarty 2.6.26
Zend Framework 1.10.6•新しいコンポーネントが追加されました––––

jQuery – qadram社製のコンポーネント4つ
qooxdoo – Standard, Additional, Advanced カテゴリ内のコンポーネント
Facebook – Facebookアプリ作成用のコンポーネントとSDK
Datasnap – Delphi/C++BuilderのDataSnapサーバにアクセスするライブラリ17

DataSnapサーバへの接続•RadPHPの新しいウィザードにより、DataSnapにアクセスするプロキシを自動生成可能– PHP言語のみで実装されたプロキシ － PHPのコード内で利用– JavaScript言語のみで実装されたプロキシ－ Webブラウザから利用

18

デバッグ&プロファイリング機能•デバッガを Xdebug に切り替えたことにより、デバッグ時の動作が快適になりました– 評価式による変数の確認や、値の変更も可能– プロファイリング機能により、パフォーマンスの問題を確認できる– リモートデバッグ機能は、RadPHPの初期出荷では搭載を見送りました。今後のアップデー
トに期待です19

登録ユーザー向けダウンロード•Delphi, C++Builder, Prism の旧バージョンを、追加費用無しで利用できます–––––Delphi XE – Delphi 2007, 2009, 2010, 7
C++Builder XE – C++Builder 2007, 2009, 2010, 6
Prism XE – Prism 2009, 2010, 2011
RAD Studio XE – 上の製品すべて
ライセンスやインストーラを入手するには?
• XE製品をインストールし、XEのライセンスをアクティベーション後• http://www.embarcadero.com/xe-earlier-versions にアクセス•IP*Works! V8 の特別版を無償で入手可能– IP*Works! V8 Delphi Edition– IP*Works! V8 C++Builder Edition– RadPHP向け IP*Works! V8 (予定)• RadPHP向け TeeChart (予定)20

不具合報告や要望について•QualityCentral を活用してください– http://qc.embarcadero.com/wc/qcmain.aspx– Sysop(管理者)の高橋が、3年にわたり、毎日チェックしています (^^)
– 文章やコメント類は、すべて英語で記入してください• 任意のファイルを.zipで添付することができます– 報告の登録・編集には、IDEに付属している専用のGUIクライアントを利用してださい• Vista, Windows 7 ではAccess Violationが発生することがありますが、無視してください– ただし、QualityCentral は、テクニカルサポートサービス ではありません•使い方は?

21

17Th
Developer Camp

Q&A

22