まもなく始まりますね。
あら、Allenさんは不参加ですか(G2もDavid Iさんが担当)。残念ですね。G1が始まりました。
【G1】ジェネラルセッション「エンバカデロ - 2011年の製品戦略と最新情報 ~ ToolCloudのさらなる進化へ」
- 去年から使っているXEというブランディングはクロスプラットフォーム、ToolCloud対応を意味している。
- 最近qadramとksdevを買収した。qadramはRadPHP、ksdevはグラフィック関係。
- 2011-2012年にフォーカスする項目としては64bit(x64)、Cross-Platform(MacOS/Linux)、Community 3.0(EDNのソーシャル化)、VCL+(VCLの強化)、DataSnap Serverの進化、Modular Compiler Architecture(モジュール化の導入)、Mobile Connectivity(モバイル端末をDataSnapに接続)、PadPHPの次世代版。
- 次世代版ToolCloudにアプリケーションを組み込むことでSxS、インストールレス、ライセンス管理を実現できる。Discovery、Immidiacy、Permanence、Convenience。AppWave経由で配布する。
【G2】テクノロジープレビュー「64bitコンパイラへの道~Delphi/C++Builderの将来バージョンへ」
- 64bit Delphiとは何を意味するのか。
- Integer、Longint、Cardinal、Int64、UInt64のような整数型、UnicodeString、AnsiString、WideStringのような文字列型、例外、RTL、VCLのインタフェースなどは変更されない。
- NativeInt、NativeUInt(いずれも32bit/64bit)、Pointer(StringやInterfaceなどPointer的に振る舞うものを含む)(32bit/64bit)、動的配列(インデックスが64bit化)、実数型(Doubleのみ)には違いがある。
- 64bit版ではWIN64、CPUX64が定義され、WIN32、CPU386、CPUX86が未定義になる。
- 注意すべき点: SizeOf(Pointer) <> SizeOf(Integer)であること、DLLなどを含めx64版でそろえる必要があること、呼び出し規約は1つしかない(指定しても無視)、pointer math、インラインアセンブラでasmとpascelをミックスできないなど制約あり(田川さんから
dcc64 は最外側のasmブロックをサポートしますが、行単位asmはサポートしません。Dcc64 supports BASM. However, it only supports outermost asm-block, not asm-statement.
、...今の予定では。...That's the plan for the present time.
とのフォローあり)、SetWindowLong/GetWindowsLongではなくSetWindowLongPtr/GetWindowsLongPtrを使うべき(SetWindowLongはSetWindowLongPtrにマップされる)。 - メッセージ関係ではWPARAM/LPARAMは明示的にキャストする、resultはLRESULTにキャスト、message crackerの構造体は変更されている、という点に注意。
- インラインアセンブラは移植性のためPascalに置き換えを推奨
- x64に対応するときはプロジェクトのTarget PlatformsにWindows (64-bit)を追加する。
- ツールベンダ、コンポーネントベンダには32/64bit両対応を働きかけている。
- x64ではシステム的に浮動小数点数の扱いが64bit(Double)に統一されているが、RTLでSingle(32bit)、Extended(80bit)をサポートすることも検討している。
- ToolCloud対応はアプリケーションのマスタリング処理で必要なことを行うため、基本的にアプリケーション側で特別に対応する必要はない。特定のハードウェア(マルチタッチなど)を前提とする場合は注意。
- 64bit版は既にベータプログラムが始まっているので、x64対応を考えているベンダは日本法人(藤井さん)にコンタクト(インフォメーションサービスセンターあてでOK)をとってほしい。ベータテストは現在はコンパイラ中心で進んでいて、製品全体としてはもう少し後になる。
- 例年どおりのリリーススケジュールを期待している(意訳すると9月目標ですか)。
さて、秋葉原に移動します。午後はUStream中継もありとのこと。
GoToWebinarはなかなかいいですね。
会場到着。20人くらいでしょうか。
【T3】 Delphiテクニカルセッション「Delphi IDEでTwitter生活!Open Tools APIで開発環境を簡単カスタマイズ」
- デバッグするときはBDSをホストアプリケーションに指定する。-rオプションとか便利かも。
- フォローはこちらで。
- 第19回 エンバカデロ・デベロッパーキャンプ セッションT3自己フォロー - C++Builder好きの秘密基地
【T4】 C++Builderテクニカルセッション「C++BuilderによるWebサービス&マルチスレッド対応リソースプールの設計」
- C++Builder用のウィザードには微妙に不具合が残っているので注意。
- デモのソースはダウンロードできるようにします、とのこと。
- スタンドアロン(Indy)版SOAPサーバでSSLを使用したい場合はTeam Japan » HTTPS(SSL)対応 - Indyベースのスタンドアロン版SOAPサーバーを参照。
T3/T4/T5/T6セッションに加えてG1/G2セッションの資料もダウンロードできるようになっています。
【T5】 Delphi/C++Builderテクニカルセッション「バグを生まないための開発技法 - テストと例外の使い方」
- テストは大事。テストすべき想定状況も大事。
- DUnitはテストをシステマチックに行うためのフレームワーク。
- 構造化例外の件は…まぁ人により好き嫌いがありますからね。
【T6】 PHPテクニカルセッション「PHP Live! - ゼロから始めるPHPアプリの構築からデプロイまで」
- RPCLの最新版はsourceforgeからダウンロード可能。ただし現在開発中の(未リリースの)IDEでフォームデザイナがWebKitを使うようになっているのに合わせられているので、一部修正が必要。
- WAMP(=Windows+Apache+MySQL+PHP)Serverを使用。公式ページは http://www.wampserver.com/en/。
- ソースファイル(*.php)に対応する*.bomファイルはデプロイ不要(PHPがUTF-8にBOMを含むことを許さないため、これを回避するための特殊なファイル)。
- RadPHPはRPCLに限定されないので、単純にPHP用のIDE、デバッガとして使ってもいい。CakePHPも共存あるいは使用可能だと思う。
- サンプルコードがTeam Japan » サンプルコード - 第19回デブキャンプ 【T4】 C++Builderテクニカルセッションからダウンロードできるようになっています。
無事終了。セッションスピーカ、参加者、関係者のみなさま、お疲れさまでした。
延長戦(単なる飲み会ともいう)も無事終了。コンパイラチームの田川さんから色々なお話を聞けて非常にためになりました。長々とお付き合いいただきありがとうございました。
2011/04/01追記: T3セッションのフォローとしてC++Builder好きの秘密基地さんのリンクを、T4セッションのフォローとしてTeam Japanのアーティクルのリンクを追加。
2011/04/06追記: セッション資料がダウンロードできるようになっています。
第19回 エンバカデロ・デベロッパーキャンプ - セッション資料ダウンロード
また筑木さんのT3セッションのサンプルコードが第19回 エンバカデロ・デベロッパーキャンプ セッションT3自己フォロー - C++Builder好きの秘密基地からダウンロードできるようになっています。
2011/04/08追記: 山本さんのT5セッションのサンプルコードがダウンロードできるようになっています。
DelFusaBlog AccessIniFileとErrorList