本日10:00から第22回エンバカデロ・デベロッパーキャンプ(東京)が行われます。場所は新宿の新宿NSビルの30階、スカイカンファレンスルーム1です。今回は一部のセッションを除いてUStreamで中継があります。
USTREAM: developer-camp-japan: エンバカデロ・デベロッパーキャンプのライブ中継をご覧いただけます。
Nigel BrownさんのG1終了。Delphi/C++BuilderをCLang(or Delphi F/E)+LLVM上で再構築とな。CLang+PMEの話はJTさんが書いてましたね。
高橋さんのT2も終了。RAD Studio(C++Builder) XE3のベータ版でデモ。x86とx64でコンパイラが違うのかぁ(現時点での話です)。
午後は高橋さんのT3からです。FireMonkeyは面白そうだけど、画面描画を伴う処理を処理系非依存でどう作るのかとか、そもそもクロスプラットフォームの必要性とか、微妙ですよね。XE3からが本番だと思いますけど。
パネルディスカッションのT4も終了。エンバカデロで使ってるツールを外販するとかオープンソース化するとかいかがですかね?
Nigel BrownさんのQ&AのG5も終了。営業の人は話が長いな…。
まもなくラスト、T6のライトニングトークです。今日は8人だとか。時間厳守ですって。
懇親会を含め全て終了。参加者のみなさん、セッションスピーカのみなさん、エンバカデロ・テクノロジーズのみなさん、お疲れさまでした。
2012/06/08追記: まとめはこちら。
2012年5月31日
2012年5月25日
[書籍]PDF構造解説
ジュンク堂書店 吉祥寺店でPDF Explained (amazon)の翻訳である
PDF構造解説 (amazon)/John Whitington著/村上雅章訳/オライリージャパン/ISBN 978-4-87311-549-8/2,310円
を購入。
PDF構造解説 (amazon)/John Whitington著/村上雅章訳/オライリージャパン/ISBN 978-4-87311-549-8/2,310円
を購入。
2012年5月23日
Firebird 2.1.5 Release Candidate 1
Firebird 2.1.5 Release Candidate 1がリリースされています。
Firebird: Firebird 2.1.5 Release Candidate 1 Kits
Firebird 2.1.5 Release Notes
元ねたはFirebird News » Firebird 2.1.5 Release Candidate is ready for testing。
Firebird: Firebird 2.1.5 Release Candidate 1 Kits
Firebird 2.1.5 Release Notes
元ねたはFirebird News » Firebird 2.1.5 Release Candidate is ready for testing。
2012年5月19日
RAD Studio roadmap 2012 Q2版
RAD Studio XE2のリリース以来長らく放置状態だったロードマップがRADプロダクトマネージメントディレクタのJohn Ray Thomasさんによって更新されています。
C++向けRAD IDEで、近い将来64-bit、C++11、ARM、iOS、Androidをサポート!
Coming soon to a RAD IDE near you, the future of C++ - 64bit, C++11, ARM, iOS and Android
てきとうな要約:
またC++Builderを含む製品とメンテナンス契約でプレビュープログラムに参加できるというキャンペーンも始まったようです(メンテナンス契約なのでXE3も自動的に含まれる)。2012/04/20から2012/06/29が対象期間のようです。
Michael Swindell » Avalanche of C++ news - C++11, Win 64-bit, iOS and Android
Get your ticket to the future of C++ and save an additional 20%
2012/05/22追記: 日本語版のリンクを追加しました。
2012/05/30追記: キャンペーン(C++Builder XE2 Future Ticket版)の件が日本でも発表されています。
エンバカデロ、64-bit、iOS、AndroidをサポートするC++Builderの将来バージョンへのパスを提供 | Press Releases
C++Builder XE2を将来バージョンへのチケットと一緒に購入すれば20% OFF
C++向けRAD IDEで、近い将来64-bit、C++11、ARM、iOS、Androidをサポート!
Coming soon to a RAD IDE near you, the future of C++ - 64bit, C++11, ARM, iOS and Android
てきとうな要約:
- 主要な目標はWindows x64対応、C++11対応、ARM(iOSおよびAndroid)対応で、多くの機能は2012年H2に、そのほかについても2013年H1にかけてのリリースを予定している。
- C++の新しいコンパイラのターゲットプラットフォームはWindows x64、iOS(ARM)、Android(ARM)。Windows x64では当然VCLとFireMonkeyの両方をサポートする。
- C++ツールチェーンは新しいプラットフォームのサポートを予定しており、まずはARMプロセッサのシェアドコードベースでのネイティブ開発(iOS、Android)について作業している。新しいコンパイラはネイティブなARM v7バイナリを生成する。FireMonkeyもC++によるiOS/Androidプラットフォームへの対応(GPS、カメラ、加速度などのセンサを含む)のため更新される。
- 新しいC++コンパイラはC++11およびC99標準とBoostやACEなどの重要なライブラリの最新版に対応する。
- このロードマップは現時点のもので(以下略)といういつものお約束。現在はBeta 1で、まもなくBeta 2フェーズに入る予定。現在の計画ではC++11、Windows x64、iOSは2012年の後半、Androidは2013年の前半を予定している。
またC++Builderを含む製品とメンテナンス契約でプレビュープログラムに参加できるというキャンペーンも始まったようです(メンテナンス契約なのでXE3も自動的に含まれる)。2012/04/20から2012/06/29が対象期間のようです。
Michael Swindell » Avalanche of C++ news - C++11, Win 64-bit, iOS and Android
Get your ticket to the future of C++ and save an additional 20%
2012/05/22追記: 日本語版のリンクを追加しました。
2012/05/30追記: キャンペーン(C++Builder XE2 Future Ticket版)の件が日本でも発表されています。
エンバカデロ、64-bit、iOS、AndroidをサポートするC++Builderの将来バージョンへのパスを提供 | Press Releases
C++Builder XE2を将来バージョンへのチケットと一緒に購入すれば20% OFF
RAD Studio/Delphi/C++Builder XE2 Update 4 Hotfix 1
RAD Studio/Delphi/C++Builder XE2 Update 4のHotfix 1がリリースされています。適用後のバージョンは16.0.4504.48759です。主にUpdate 4で生じたFireMonkey関係の問題を修正するもののようです。
28881 RAD Studio XE2 Update 4 Hotfix for FireMonkey and C++
28882 Delphi XE2 and C++Builder XE2 ISO (includs Update 4 Hotfix)
Delphi XE2/C++Builder XE2/RAD Studio XE2 Update 4 Hotfix 1 が公開されました
Update 4 Hotfix 1 now available for Delphi, C++Builder and RAD Studio XE2
28881 RAD Studio XE2 Update 4 Hotfix for FireMonkey and C++
28882 Delphi XE2 and C++Builder XE2 ISO (includs Update 4 Hotfix)
Delphi XE2/C++Builder XE2/RAD Studio XE2 Update 4 Hotfix 1 が公開されました
Update 4 Hotfix 1 now available for Delphi, C++Builder and RAD Studio XE2
2012年5月16日
Prism XE2.5
Prism XE2.5がリリースされています。RAD Studio XE2のメンテナンス契約をしているか、2012/05/15から2012/09/01の間にRAD Studio XE2を購入した場合(2012/09/15まで有効)にのみ使用できるようです。またこのキャンペーンが日本でも有効なのかどうかは今のところ不明です。
Buy RAD Studio XE2, get Embarcadero Prism XE2.5 Free! | Landing Pages
28871 Embarcadero Prism XE2.5 ISO
28872 Embarcadero Prism XE2.5 ISO
28873 Embarcadero Prism XE2.5 Full Installer (Japanese)
28876 Embarcadero Prism XE2.5 Full Installer (English)
2012/05/17追記: Prism XE2.5の関連リンクです。
Embarcadero Announces Support for Windows 8 Metro Development with Release of Embarcadero Prism XE2.5
Delphi Insider: Embarcadero Prism XE2.5 is now available - develop Windows 8 apps
Announcing Oxygene 5.1 and Embarcadero Prism XE2.5 | RemObjects Blogs
Buy RAD Studio XE2, get Embarcadero Prism XE2.5 Free! | Landing Pages
28871 Embarcadero Prism XE2.5 ISO
28872 Embarcadero Prism XE2.5 ISO
28873 Embarcadero Prism XE2.5 Full Installer (Japanese)
28876 Embarcadero Prism XE2.5 Full Installer (English)
2012/05/17追記: Prism XE2.5の関連リンクです。
Embarcadero Announces Support for Windows 8 Metro Development with Release of Embarcadero Prism XE2.5
Delphi Insider: Embarcadero Prism XE2.5 is now available - develop Windows 8 apps
Announcing Oxygene 5.1 and Embarcadero Prism XE2.5 | RemObjects Blogs
2012年5月9日
2012年5月8日
列挙型と列挙子名(文字列)の相互変換(ジェネリックス版)
ずいぶん前に列挙型の値と列挙子の名前を相互変換する方法について取り上げましたが、これを関数化しようとすると結局のところ必要な列挙型すべてについて個別に実装の必要がありました。ところがLynaたんさん(talesさん)のジェネリクスを使って少しだけ手軽に列挙型の値を文字列に変換する。 - 全力わはーではDelphi 2009の新機能のジェネリックスを利用することでこれを単一の実装で実現しています。ということでLynaたんさんが提示した手法で列挙型と列挙子名の相互変換を関数化してみました(単なるパクリですいません)。ここではクラスではなく高度なレコード型を使用します。またジェネリックスを使いますので当然のことながらDelphi 2009以降でのみ有効です。
uses
TypInfo, SysUtils, SysConst;
type
TEnumHelper = record
class function GetEnumName<T>(Value: T): String; static;
class function GetEnumValue<T>(const Name: String): T; static;
end;
class function TEnumHelper.GetEnumName<T>(Value: T): String;
var
P: PTypeInfo;
IValue: Integer;
begin
P := TypeInfo(T);
if P = nil then
begin
raise EInvalidOpException.CreateRes(@SVarNotImplemented);
end;
IValue := 0;
Move(Value,IValue,SizeOf(T));
Result := TypInfo.GetEnumName(P,IValue);
end;
class function TEnumHelper.GetEnumValue<T>(const Name: String): T;
var
P: PTypeInfo;
IValue: Integer;
begin
P := TypeInfo(T);
if P = nil then
begin
raise EInvalidOpException.CreateRes(@SVarNotImplemented);
end;
IValue := TypInfo.GetEnumValue(P,Name);
with GetTypeData(P)^ do
begin
if (IValue < MinValue) or (IValue > MaxValue) then
begin
raise ERangeError.CreateRes(@SRangeError);
end;
Result := Default(T);
Move(IValue,Result,SizeOf(T));
end;
end;
TEnumHelper.GetEnumNameの型パラメータは省略可能です(引数の型から自動的に推論されます)が、TEnumHelper.GetEnumValueについては型パラメータが必須となります。var
Alignment: TAlignment;
begin
Alignment := TEnumHelper.GetEnumValue<TAlignment>('taLeftJustify');
end;
var
S: String;
begin
S := TEnumHelper.GetEnumName(taLeftJustify);
end;
こんな感じで使うことができます。
Category:
Delphi 2009,
Delphi 2009 Ready,
Delphi Programming Tips,
Delphi XE,
Delphi XE2
at
17:57:00
0
Comments
2012年5月1日
2012/05開催のウェブセミナー
- 2012/05/15 13:00-14:00(JST) Developer Direct Webセミナーシリーズ 「C/C++開発者必見!C++BuilderによるWindows/Macクロス開発」
- 2012/05/16 17:00-18:00(JST) 5/16 - デベロッパーTV - 「デベロッパーキャンプ直前、Firemonkey先取り情報!」
- 2012/05/22 13:00-14:00(JST) Developer Direct Webセミナーシリーズ 「PHP開発もドラッグ&ドロップ!RadPHPでWebアプリケーションをビジュアル開発」
- 2012/05/29 13:00-14:00(JST) Developer Direct Webセミナーシリーズ 「DelphiでWeb開発!データベースアクセスからiPhone対応、帳票作成も」
2012/05/03追記: Developer Direct Webセミナーシリーズのリンクを追加。毎週火曜日の13:00-14:00ですね。
2012/06/12追記: 2012/05/15分のリプレイビデオのリンクを追加しました。
2012/06/18追記: 2012/05/29分のリプレイビデオのリンクを追加しました。
登録:
投稿 (Atom)