2009年5月31日

IDE Fix Pack 2.6/VCLFixPack 1.3リリース

Andreas HausladenさんIDE Fix Pack 2009がVersion 2.6に、VCLFixPackがVersion 1.3にそれぞれアップデートされています。IDE Fix Pack 2009 Version 2.6はDelphi 2009 Update 3適用済の環境でのみ動作するとのことです。

Andy’s Blog and Tools » IDE Fix Pack 2.6 for 2009 Update 3 / VCL Fix Pack 1.3

2009年5月29日

リリースは月火水のみ

公式フォーラムでNick Hodgesさんが以下のように発言しています。
Embarcadero Discussion Forums: When the heck is Update 3 going to be ...
Actually, we now only ship on a Monday, Tuesday, or Wednesday. We've set that as an official policy.

要は公式な方針として(PST/PDTで)月曜日、火曜日、水曜日にのみリリースを行う、ということのようです(JSTだと概ね火曜日~木曜日になりますね)。

2009年5月27日

Indy 10のアップデート

最近のDelphi/C++Builder/RAD Studioではネットワーク関係のライブラリとしてIndyの使用が推奨されており、実際にDelphi 2007には10.1.5が、Delphi 2009には10.2.3がそれぞれ標準で添付されています。しかし最新のnightlyは10.5.5(2009/05/27現在)となっており、DEKOさんの指摘のとおり不具合を修正するには最新にアップデートすることが必要です。ということでメモ。

Delphi 2009 に最新版の Indy10 をインストールする
Delphi 5~2007 に最新版の Indy10 をインストールする

ところでindy10.zipは10.2.3、IndyTiburon.zipは10.5.5ですが、名前に反してIndyTiburon.zipはDelphi 2007およびそれ以前にも導入可能のような気がします。あとでDelphi 2007で更新を試してみます。

2009年5月26日

C++0xの右辺値参照とムーブセマンティクス

C++0xの新機能の一つである右辺値参照とムーブセマンティクスについてのわかりやすい説明のわかりやすい翻訳。C++プログラマではありませんが、非常に興味深いテーマです。

Visual C++ Team Blog : Rvalue References: C++0x Features in VC10, Part 2
和訳:Rvalue References: C++0x Features in VC10, Part 2 - ntnekの日記

InitializeCriticalSectionEx

Team Japanの高橋さんの記事によると、Windows Vista(NT 6.0)以降ではInitializeCriticalSectionによる初期化ではリソースリークが発生するとのこと。

Team Japan » InitializeCriticalSectionEx

まぁそもそもマルチCPUではInitializeCriticalSectionAndSpinCountでスピンカウントの指定をしないとパフォーマンスに影響が出るらしいし、新しいOSではInitializeCriticalSectionExを呼び出しなさない、というのは判るのだが、もう少し互換性のある拡張はできないのかと。スピンカウントもどのくらいの値が適当なのかよくわからないし。

ちょうどいま流し読み中のWindowsデバッグの極意(Mario Hewardt、Daniel Pravat著/長尾高弘訳/アスキー・メディアワークス/ISBN978-4-04-867608-3)の"第10章 同期"でクリティカルセクションに触れています。以下引っ掛かる点を引用。
RTL_CRITICAL_SECTION.DebugInfo
クリティカルセクションに関する追加情報を格納する構造体で、これを格納するメモリはシステムにより確保される。(p.502)

RTL_CRITICAL_SECTION_DEBUG
RTL_CRITICAL_SECTION_DEBUGは主としてデバッグ用の情報を格納しているように見えるが、初期バージョンのWindowsでは、これがなければクリティカルセクションが使える状態だと見なされなかった。実際、オペレーティングシステムが初期化中にこの構造体のメモリを確保できなければ、APIは失敗していたのである。Windows Server 2003 SP1以降、このデバッグ情報がなくても、クリティカルセクションは機能するようになった。(p.504)

EnterCriticalSection
Windows 2000のEnterCriticalSection APIについては注意が必要だ。メモリの残量が少なくなったときにこれを呼び出すと、メモリ不足例外が投げられることがあるのだ。クリティカルセクションはイベントを使っており、EnterCriticalSection APIではこのイベントが初期化される。システムのメモリの残量が少なくなっていると、そのために例外が起きる。Windows 2000のもとでクリティカルセクションを信頼できる形で実行したければ、クリティカルセクションの初期化時にイベントを確保し、その後は例外を投げないInitializeCriticalSectionAndSpinCount APIを使うようにするとよい。(p.505)

追記: 高橋さん、フォローありがとうございます。

第13回エンバカデロ・デベロッパーキャンプ

第13回エンバカデロ・デベロッパーキャンプは2009年07月02日にOpenSource World 2009の一部として開催されます。OpenSource World 2009そのものは2009年07月01日~07月02日の開催です。今回はPhilip Rathleさん(All-Accessのプロダクトマネージャ)やmatzさんがいらっしゃるようです。

2009年5月23日

Delphi Live! 2009/スピーカインタビュー

Anders OhlssonさんがYouTubeにDelphi Live! 2009のスピーカのインタビューを大量アップロードしています。

The Hacker’s Corner » Blog Archive » Speaker video interviews from Delphi Live! 2009
Video interviews from Delphi Live! 2009

2009/05/26追記: EDNの紹介記事が翻訳されています。
Delphi Live! 2009からのビデオインタビュー(英語)

2009年5月22日

アプリケーション開発者向けMicrosoft Windows 7対応アプリケーションの互換性

MSDNのWindows 7 互換性情報ページで"アプリケーション開発者向けMicrosoft Windows 7対応アプリケーションの互換性"というドキュメントがダウンロードできるようになっています。このドキュメントではWindows Vista/Windows 7向のアプリケーションで注意しなければならない点について解説されています(Vistaのときのお粗末な文書に比べると結構詳細でわかりやすくなっています)。

Delphi Live! 2009/プロダクトアドレス

Delphi Live! 2009のプロダクトアドレスの画面キャプチャ+音声が公開されています。

Delphi 2009! Live Recap
26915 Delphi Live! 2009 Recap and Product Address

英語で70分間はかなりきついですが、画面(PowerPoint)を見ているだけでも雰囲気はつかめます。

2009年5月21日

Delphi Live! 2009の動画

Delphi.orgに"What is Cooking in the Delphi Labs"セッションの動画が順次アップロードされていくようです。
Delphi Live! 2009 - What is Cooking in the Delphi Labs - Part 1 - The Podcast at Delphi.org
Delphi Live! 2009 - What is Cooking in the Delphi Labs - Part 2 - The Podcast at Delphi.org
Delphi Live! 2009 - What is Cooking in the Delphi Labs - Part 3 - The Podcast at Delphi.org
Delphi Live! 2009 - What is Cooking in the Delphi Labs - Part 4 - The Podcast at Delphi.org
Delphi Live! 2009 - What is Cooking in the Delphi Labs - Part 5 - The Podcast at Delphi.org
Delphi Live! 2009 - What is Cooking in the Delphi Labs - Part 6 - The Podcast at Delphi.org
Delphi Live! 2009 - What’s Cooking in the Delphi Labs - Part 7 - The Podcast at Delphi.org

Fun Side of Delphi with Marco Cantu at Delphi Live 2009! - The Podcast at Delphi.org

またYouTubeにもアップロードされています。
YouTube - Delphi Live! 2009 - What is Cooking in the Delphi Labs - Part 1
YouTube - Delphi Live! 2009 - What is Cooking in the Delphi Labs - Part 4
YouTube - Delphi Live! 2009 - What is Cooking in the Delphi Labs - Part 5
YouTube - Delphi Live! 2009 - What is Cooking in the Delphi Labs - Part 6
YouTube - Delphi Live! 2009 - What is Cooking in the Delphi Labs - Part 7

Marco Cantuさんによれば、この"What is Cooking in the Delphi Labs"セッションではNick HodgesさんのIDEインサイト機能やコードフォーマッタ、Allen BauerさんのDirect2DサポートやRTTI拡張によるリフレクション機能、Carlさん(誰?)のDelphi for MacによるMacOS上のコンソールアプリケーション、Anders OhlssonさんのDelphiコードのANSI->Unicode変換ツール、David IさんのVS2010上のDelphi Prismでの.NET 4.0やパラレルエクステンションのサポートなどがデモされたようです。
(更新中)

2009年5月20日

Blaise Pascal Special Issue

BLAISE PASCAL MAGAZINEの(通常はダウンロード版が4号で30.00EURですが)特別版が無償で読めるようになっています。英語ですけど。
でさらっと目次を見ていたのですが、Borlandの創業者であるPhilipe Kahnさんのインタビューが掲載されています。懐かしいですね。

元ねたはRave, Delphi and more: BlaisePascal magazine - special edition -

2009/05/21追記: EDNでも紹介されています。
Free special issue of Blaise Pascal Magazine and Free One-Year Subscription
26909 Blaise Pascal Magazine Special Issue & Free 1-year Subscription

2009年5月19日

Delphi/C++Builder/RAD Studioのコマンドラインオプション

Delphi/C++Builder/RAD Studioで使用できるコマンドラインオプションをまとめてみました。


-r
カスタムレジストリ設定を使用 (-rXYZ : XYZレジストリを使用)
-idecaption
IDEのキャプションを指定 (-idecaption="NEW CAPTION" : キャプションを"NEW CAPTION"に変更)
-p
使用パーソナリティの指定 (-pDelphi : Delphi, -pCBuilder : C++Builder, -pDelphiDotNet : Delphi.NET, -pCSharp : C#Builder)
-np
Welcome pageの非表示 (Delphi 7およびそれ以前ではデフォルトプロジェクトの非作成)
-ns
スプラッシュの非表示

-rオプションで指定した文字列はレジストリ"HKEY_CURRENT_USER\Software\Borland\BDS\6.0"(Delphi 2009の場合)の"BDS"部分の置き換えに使用されます。

-pオプションで指定するのは、実際にはレジストリ"HKEY_CURRENT_USER\Software\Borland\BDS\6.0\Known IDE Packages"(Delphi 2009の場合)の下にあるキーの名称で、指定したキーの下にあるIDEパッケージが起動時に読み込まれます。ここに新たにキー/エントリを追加して-pオプションで指定することで、カスタマイズしたプロファイルでIDEを起動することができます(ただしコンポーネントパッケージは対象にならない)。詳細は下記のMark Edingtonさんの記事を参照。

Delphi/C++Builder/RAD Studio XE以降については以下のリンクに詳細な記述があります。
元ねたはDelphi 2007 HandbookDELPHI 2009 HANDBOOKMark Edington’s Delphi Blog : Delphi Startup Times and the Kitchen SinkDelphi Tweet Day (delphitweetday) on Twitterなど。

2016/04/20追記: Delphi/C++Builder/RAD Studio XE以降のオンラインヘルプのコマンドラインオプションのページへのリンクを追加。

2017/03/23追記: Delphi/C++Builder 10.2 Tokyoの情報を追加。

2009年5月16日

Delphi Roadmap - 遠い将来には

クラウドコンピューティング

Web 3.0

RIA(Rich Internet Application)を超えて

組み込みデバイス

ソフトウェアアプライアンス

セキュリティ

コンプライアンス

関数型プログラミング、宣言型プログラミング、自然言語入力、もっと多くのプラットフォーム…

元ねたはRob’s Technology Corner: DelphiLive - Where is Delphi Going?Delphi Tweet Day (delphitweetday) on Twitterなど。

Delphi Roadmap - "Project Commodore"

64bitネイティブ

コンパイラ、RTL(Run Time Library)、VCL(Visual Component Library)の64bitネイティブフルサポート

マルチコア、マルチスレッドアプリケーション

元ねたはRob’s Technology Corner: DelphiLive - Where is Delphi Going?Delphi Tweet Day (delphitweetday) on Twitterなど。

Delphi Roadmap - "Project Chromium"

とにかく品質

Pascalコードフォーマッタ

OTA(Open Tools API)のドキュメント化

コントロールのあらゆるプロパティにバインド可能な新しいデータバインディングモデル

データベースツールの更なる統合

元ねたはRob’s Technology Corner: DelphiLive - Where is Delphi Going?Delphi Tweet Day (delphitweetday) on Twitterなど。

Delphi Roadmap - "Project X"

Windows、Mac OS、Linuxのクロスプラットフォーム

クロスプラットフォームコンポーネントライブラリ

全てのプラットフォームでDataSnapを使用可能に

Delphi Live! 2009の2日目(2009/05/15)にデモ予定

元ねたはRob’s Technology Corner: DelphiLive - Where is Delphi Going?Delphi Tweet Day (delphitweetday) on Twitterなど。

2009/05/21追記: Allen Bauerさんによれば、"Project X"に興味がある人はEli Bolingさんのblogをチェックすべしとのこと。

Delphi Roadmap - "Project Weaver"

主要な目標はユーザエクスペリエンスの向上、データベース接続の拡張、ドキュメントの充実。
IDEのユーザビリティ

チーム生産性

タッチ
"Delphi Natural Input"
GestureManagerコンポーネント
ジェスチャーはActionと結びつけるか、OnGestureイベントでハンドルする

IDEインサイト
FastAction
キーボードであらゆる機能にすばやくアクセス

DataSnapの改良

Firebirdのサポート

.NETにおけるAOP(Aspect Oriented Programming)

SCM(ソフトウェア構成管理)サポート

拡張RTTIサポート

Attributeサポート

シームレスな.NET-Native間通信

Windows 7 APIとDirect 2D

SOAP 1.2クライアントのフルサポート

元ねたはRob’s Technology Corner: DelphiLive - Where is Delphi Going?Delphi Tweet Day (delphitweetday) on Twitterなど。

2009/05/21追記: タッチインタフェースのデモの動画がThe best of DelphiLive was [Video]: « Daniel Magin’s Weblogにあります。最後の動画ではDelphi付属のfishfactデモにGestureManagerコンポーネントでジェスチャーを追加しています。

2009年5月15日

Delphi Live! 2009

海の向こう、カリフォルニア州サンホセではDelphi Live! 2009が始まっています。DelphiプロダクトマネージャのMike RozlogさんがDelphiのロードマップについて発表を行ったようです。
Project Weaver
次期版Delphi/C++Builder

Project X
クロス開発環境

Project Chromium
周辺ツールの充実

Project Commodore
64bit対応、マルチプロセッサ、マルチスレッドサポート

詳しくは以降のエントリで。

元ねたはRob’s Technology Corner: DelphiLive - Where is Delphi Going?など。

2009年5月13日

Microsoft Monthly Update 2009/05

今日はMicrosoftのセキュリティアップデートの日です。
MS09-017

2009年5月6日

Micro FocusがBorlandを買収

Marco CantuさんのMicroFocus buys Borlandによれば、Micro Focus(日本法人)という会社がBorlandの買収提案を発表しました(Borlandのプレスリリースでは正式に契約したようです)。またMicro Focusは同時にCompuwareの"Application Testing / Automated Software Quality (ASQ)"ビジネスの買収でも合意しています。Micro Focusは英国を本拠としていて、Open COBOLが主な製品分野の会社のようです。そういう意味で旧Borlandのエンタープライズ向(ALM)ビジネスとの相性は意外によいのかもしれません(CodeGearとEmbarcaderoのように)。ただこれでBorlandという会社がなくなってしまうわけで、ちょっと寂しい気もします。

2009/05/07追記: 日本語の記事も出ているようです。
Borland,約7500万ドルでMicro Focusに身売り:ITpro(要登録)
ブランド名が残るかは不明:BorlandをMicro Focusが約7500万ドルで買収 - ITmedia エンタープライズ
ボーランドをマイクロフォーカスが買収へ--買収価格は1株1ドル - 企業情報 - ZDNet Japan

2009年5月5日

Project CrossTalk

IntraWebの開発元であるAtozed Softwareが、Delphi(native)から.NETのコードを簡単に呼び出すことができるようにするProject CrossTalkをアナウンスしています。面白そうなのでとりあえずメモ。
Atozed Software - Project CrossTalk

Q&AによればProject CrossTalkは主に(たとえばIntraWebで使用するDelphiコードの)バックエンドで.NETのコードやライブラリを呼び出せるようにするのが目的で、.NETのビジュアル要素を扱いたいならRemObjectsHydraのほうが適している、とのこと。

元ねたはDrs.Bob's Delphi Notes (weblog)