Andreas HausladenさんのIDE Fix Pack 2009がVersion 2.71にアップデートされています
Andy’s Blog and Tools » IDE Fix Pack 2.71 for RAD Studio 2009 (only)
2009年9月29日
SourceForge TurboPowerプロジェクト
2003年にオープンソース化されたTurboPowerプロジェクト(MPL 1.1)ですが、Nick Hodgesさんが管理者(tpsfadmin)となり、準公式な形で提供されていく(
But I should note that this isn’t an "officially sponsored" Embarcadero deal. This is at best "semi-official".)ことになったそうです(オープンソース化された経緯については旧Delphi-MLの73894以下のスレッドが参考になります)。現在TurboPowerプロジェクトには以下のプロジェクトが存在しています。
- TurboPower Abbrevia (ファイルの圧縮/展開)
- TurboPower XML Partner (XML処理コンポーネント)
- TurboPower String Resource Manager (文字列リソースマネージャ)
- TurboPower B-Tree Filer (ファイルベースのデータベース)
- TurboPower Internet Professional (ネットワーク関係コンポーネント)
- TurboPower Orpheus (120種類以上のUIコンポーネント)
- TurboPower ShellShock (Windowsシェルコンポーネント)
- TurboPower Visual PlanIt (スケジュール管理コンポーネント)
- TurboPower Async Professional (シリアル、TAPI、Microsoft Speech APIなどの通信コンポーネント/インストーラ使用)
- TurboPower Essentials (13種類のUIコンポーネント)
- TurboPower LockBox (暗号コンポーネント)
- TurboPower OnGuard (有効期間、起動回数などによる動作制限コンポーネント)
- TurboPower SysTools (COMサポートコンポーネントおよびシステム補助ルーチン)
- TurboPower FlashFiler (クライアント/サーバ型データベース)
- TurboPower OfficePartner (Officeコンポーネント)
- TurboPower Async Professional CLX (Kylix用/LGPL, MPL 1.1)
- TurboPower SysTools for Kylix (Kylix用/LGPL, MPL 1.1)
- TurboPower Object Professional (DOS/TurboPascal用)
2009年9月28日
RAD Studio 2010の新機能その13
- VCL/TTimeSpanレコード型
- TTimeSpanユニットに時間差を表すTimeSpanレコード型が追加されています。詳細はWings of WindさんのRAD Studio 2010 Review #13: – The Persistence of Time。
- コンパイラ/RTTI
- 新しいRTTIを利用して別パッケージ内に存在する未知のクラスのインスタンスを生成する方法。詳細はTeam JapanのDelphi 2010: RTTI新機能を試す(動的なインスタンス生成)。
これで持ちネタは終了です(というかこの2つを書くのを忘れていました)。
2009年9月25日
RAD Studio/Delphi/C++Builder 2010 Update 1
RAD Studio/Delphi/C++Builder 2010のUpdate 1がリリースされています。またExtraディレクトリのファイルもダウンロードできるようになっています。
27356 Update 1 for RAD Studio, Delphi & C++Builder 2010
27351 Extras directory files for RAD Studio, Delphi & C++Builder 2010
リリースノート: RAD Studio 2010 Update 1
Team Japan » C++Builder/Delphi/RAD Studio 2010 Update 1と Extrasイメージ
27356 Update 1 for RAD Studio, Delphi & C++Builder 2010
27351 Extras directory files for RAD Studio, Delphi & C++Builder 2010
リリースノート: RAD Studio 2010 Update 1
Team Japan » C++Builder/Delphi/RAD Studio 2010 Update 1と Extrasイメージ
2009年9月24日
C++Builder 2010のBoostライブラリサポート
David DeanさんがC++Builder 2010におけるBoostライブラリ(日本語訳)のサポート状況を公開しています。またCodeCentralからパッチ済のBoost 1.39.0がダウンロードできるようになっています。
David Dean » C++Builder 2010 Boost support
27358 C++Builder 2010 Patched Boost 1_39_0
David Dean » C++Builder 2010 Boost support
27358 C++Builder 2010 Patched Boost 1_39_0
2009年9月17日
RAD Studio オンラインヘルプシステム
ちょっと古い話題ですが、RAD Studioのヘルプシステムがwiki上に再構築されています。
英語版(オリジナル)
日本語版
コードサンプル
Dee Ellingさんによれば、
元ねたはDee EllingさんのWiki Wiki Help2 Wiki。
英語版(オリジナル)
日本語版
コードサンプル
Dee Ellingさんによれば、
- wikiの内容をMicrosoft Help2形式に直接変換できる(Help Updateは2009/09と2009/11に予定されている)。
- 内容を簡単に編集、更新できる(当社比)。
- 登録ユーザはディスカッションタブに書き込むことができる(英語版のみ)。
- 英語版以外のものは翻訳したものが流し込まれる。
- wikiへのログオンは現時点ではEDNとは異なるシステムになっている(将来はシングルサインオンシステムに統合したい)。
元ねたはDee EllingさんのWiki Wiki Help2 Wiki。
2009年9月16日
2009年9月15日
クラスコンストラクタとクラスデストラクタ
Delphi 2010で追加されたクラスコンストラクタ、クラスデストラクタですが、その名に反してクラスだけではなくレコード型に対しても定義することができます。またジェネリクスを含むクラス/レコード型に対するクラスコンストラクタ、クラスデストラクタは複数回呼び出されることがあります(Delphiのジェネリクスの実装がC#やJavaのようにライブラリによるものではなくC++のようにコンパイラによるものであることを考えれば当然なのかもしれませんが)。
Class constructors and Generics | YAPB
元ねたはNick HodgesさんのRandom Thoughts on the Passing Scene #127。
Class constructors and Generics | YAPB
元ねたはNick HodgesさんのRandom Thoughts on the Passing Scene #127。
2009年9月14日
2009年9月13日
Delphi 2010のRTTIと属性
Robert Loveさんによる、Delphi 2010の新機能の一つであるRTTI(Run Time Type Information)の拡張と属性(Atributes)についての解説記事です(全1213回の予定)。
元ねたはRob’s Technology Corner: Delphi 2010 - RTTI & Attributes。
2009/09/15追記: Introduction to TValueのリンクを追加しました。
2009/09/16追記: Exploring TRttiMember Descendants in depth (Part I) Properties and Fieldsのリンクを追加しました。
2009/09/18追記: Exploring TRttiMember Descendants in depth (Part II) Methodsのリンクを追加しました。
2009/09/23追記: TValue in Depthのリンクを追加しました。
2009/10/08追記: INI persistence the RTTI wayおよびXml Serialization - Basic Usageのリンクを追加しました。
2009/10/09追記: TRttiContext.Create() & TRttiContext.Free()およびXml Serialization - Control via Attributesのリンクを追加しました。
- Delphi 2010 RTTI - The basics (新しいRTTI(en)の基本的な使用方法)
- Using Attributes and TCustomAttribute descendants (属性として使用するTCustomAttribute(en)とその派生クラス)
- Exploring TRttiType and descendants in Depth (実行時に取得した型情報を扱うためのTRttiType(en)とその派生クラス)
- Introduction to TValue (新しいRtti.pasのTValue(en)レコード型)
- Exploring TRttiMember Descendants in depth (Part I) Properties and Fields (RTTI情報を扱うためのTRttiMember(en)とその派生クラスで、フィールドを扱うTRttiField(en)とプロパティを扱うTRttiProperty(en))
- TRttiContext.Create() & TRttiContext.Free() (TRttiContextのCreateとFreeがコンストラクタ、デストラクタ呼出ではないことについて)
- Exploring TRttiMember Descendants in depth (Part II) Methods (TRttiMember(en)の派生クラスのTRttiMethod(en)経由でメソッドを呼び出し(invoke))
- TValue in Depth (TValue(en)レコード型の詳細)
- INI persistence the RTTI way (RTTIの属性を利用してクラスインスタンスの情報を永続化)
- Xml Serialization - Basic Usage (RTTIを利用してクラスインスタンスをXMLにシリアライズ/デシリアライズ)
- Xml Serialization - Control via Attributes (属性でXMLシリアライズ化を制御)
- Attributes: Practical Example- Object to Client Dataset
- Types by Package... Dynamic plug-in systems.
元ねたはRob’s Technology Corner: Delphi 2010 - RTTI & Attributes。
2009/09/15追記: Introduction to TValueのリンクを追加しました。
2009/09/16追記: Exploring TRttiMember Descendants in depth (Part I) Properties and Fieldsのリンクを追加しました。
2009/09/18追記: Exploring TRttiMember Descendants in depth (Part II) Methodsのリンクを追加しました。
2009/09/23追記: TValue in Depthのリンクを追加しました。
2009/10/08追記: INI persistence the RTTI wayおよびXml Serialization - Basic Usageのリンクを追加しました。
2009/10/09追記: TRttiContext.Create() & TRttiContext.Free()およびXml Serialization - Control via Attributesのリンクを追加しました。
RAD Studio 2010のUML機能
Michael RozlogさんがRAD Studio/Delphi/C++Builder 2010のUML機能、検査(オーディット)機能、計測(メトリクス)機能、ドキュメント生成機能に関するwhitepaperを公開しています。
RAD Studio 2010 UML and Audits and Metrics: not the old UML!
Delphi 2010ではPro SKUでも限定的に検査機能、計測機能が使用できるようになっています。
元ねたはMichael Rozlog » Blog Archive » New UML whitepaper for RAD Studio 2010 (Delphi and C++Builder 2010)。
RAD Studio 2010 UML and Audits and Metrics: not the old UML!
Delphi 2010ではPro SKUでも限定的に検査機能、計測機能が使用できるようになっています。
元ねたはMichael Rozlog » Blog Archive » New UML whitepaper for RAD Studio 2010 (Delphi and C++Builder 2010)。
CodeRage 4の動画公開
2009/09/08-11(PDT)に行われたオンラインカンファレンスCodeRage 4のセッションの動画が公開されています(EDNでログインする必要があります)。
CodeRage 4 Sessions & Replays
CodeRage 4 Sessions & Replays
RAD Studio Roadmap
DelphiのプロダクトマネージャであるMichael RozlogさんがRAD Studioのロードマップを公開しています。
RAD Studio Roadmap
が、全然新しくないような。Newsflash: The Roadmap. « Wings of Wind Softwareでもツッコミまくりです。見た限り新しい情報は5枚目で赤線で消されている"Windows"くらいでしょうか。
RAD Studio Roadmap
が、全然新しくないような。Newsflash: The Roadmap. « Wings of Wind Softwareでもツッコミまくりです。見た限り新しい情報は5枚目で赤線で消されている"Windows"くらいでしょうか。
2009年9月10日
Firebird 2.1.3リリース
Firebird Ver2.1.3がリリースされています。
Firebird Development: Database Engine
Firebird File Repositories(download)
Firebird 2.1 Release Notes
Firebird 2.1以降には"UPDATE OR INSERT文"なんていうのがあるんですね。
Firebird Development: Database Engine
Firebird File Repositories(download)
Firebird 2.1 Release Notes
Firebird 2.1以降には"UPDATE OR INSERT文"なんていうのがあるんですね。
第14回エンバカデロ・デベロッパーキャンプ
2009年09月02日に大阪で開催された第14回エンバカデロ・デベロッパーキャンプのセッション資料とダイジェストビデオが公開されています。
第14回 エンバカデロ・デベロッパーキャンプ - 資料ダウンロード
セッションダイジェストビデオ「ついに登場!Delphi/C++Builder 2010の概要」
第14回 エンバカデロ・デベロッパーキャンプ - 資料ダウンロード
セッションダイジェストビデオ「ついに登場!Delphi/C++Builder 2010の概要」
2009年9月9日
2009年9月8日
Delphi 2010は13をスキップしてVer14に
Delphi 2009はVer12だったので、順当にいけばDelphi 2010はVer13となるはずでした。が、キリスト教文化圏の悪癖で(というかそのことでグダグタいわれないために)13をスキップして14としたようです(確かにQCクライアントでも2010にはVer14が割り当てられています)。このあたりの経緯についてはAllen BauerさんのThe Oracle at Delphi » What happened to version 13?を参照。
2009年9月7日
RAD Studio 2010の新機能その12
- コンパイラ/Delphi
- 新しい"delayed"ディレクティブでDLL内の関数のロードを実行直前まで遅延することができるようになります。詳細はAllen BauerさんのProcrastinators Unite… Eventually!とその続きのExceptional Procrastination。
また高橋さんがdelayedディレクティブを実際に使用する方法を紹介しています。詳細はTeam JapanのDelphi 2010: 新機能 delayed ディレクティブ。 - IDE/言語構成ツール
- 言語構成ツールでIDEのUIとライブラリの言語を切り替えることができます。詳細はAndreas HausladenさんのRAD Studio 2010 now speaks multiple languages。
- DataSnap/REST+JSON
- DataSnap上でREST経由でJSON形式のデータをやり取りする方法を高橋さんが紹介しています。詳細はTeam JapanのDelphi 2010: DataSnap 2010でREST,JSONを試す。
- IDE/オブジェクトインスペクタ
- コンポーネントのプロパティエディタをオブジェクトインスペクタ最下段の"verbs"エリアからも呼び出すことができるようになります。詳細はPaweł GłowackiさんのRAD Studio 2010 - Object Inspector "verbs" area。
- VCL/JSON
- TJSONMarshal/TJSONUnMarshalを使用してクラスインスタンスをマーシャリング(シリアライズ/デシリアライズ)することができます。詳細はDaniele TetiさんのCustom Marshalling/UnMarshalling in Delphi 2010。
- コンパイラ/RTTI
- RTTIについてのまとめ。
詳細はWings of WindさんのCommunity pulse: CodeRage 4, RTTI Reloaded。- TRTTIContextはレコード型で、Create/Freeで生成、破棄する必要はありません。
- RTTI用のデータで実行ファイルのサイズは大きくなります。
- RTTIを使用するとprivateメンバにもアクセスできます($RTTI指令でメソッド、フィールド、プロパティの別に可視範囲を指定します)。
- 実行時情報を元にどのメソッドでも呼び出すことができます。
- TValueはバリアント型のように使用できます。
- コンパイラ/クラスコンストラクタ/クラスデストラクタ
- 従来initialization/finalization部に記述していた処理をクラスコンストラクタ、クラスデストラクタに置くことができるようになります。クラスコンストラクタはinitialization部よりも前に、クラスデストラクタはfinalization部よりも後に実行されることが保証されています。これによりクラス依存のコードをそのクラスの外側に記述する必要がなくなり、リンカが不要なコード/データを外すことが容易になります。詳細はAllen BauerさんのClass (, Static, or Shared) Constructors (and Destructors)とその続きのClass Constructors. Popping the hood.。
2009年9月6日
IDE Fix Pack 2.7/VCLFixPack 1.4リリース
Andreas HausladenさんのIDE Fix Pack 2007およびIDE Fix Pack 2009/2010がVersion 2.7に、VCL Fix PackがVersion 1.4にそれぞれアップデートされています(Delphi 2010にはVCL Fix Packは必要ないとのことです)。
Andy’s Blog and Tools » New IDE Fix Pack for 2007, 2009 and 2010
Andy’s Blog and Tools » New IDE Fix Pack for 2007, 2009 and 2010
2009年9月4日
Delphi 2010 Handbook
Marco Cantuさんによれば、Delphi 2010 Handbookを執筆中とのことです。発売まではまだしばらくかかるようですが、ebookのサブスクリプションという形で書きあがった分からリリースしていくようなことを考えているとのことです。でも英語をモニタ上で読むのはつらいので紙媒体のほうがいいかな…。
Delphi 2010 Handbook in the Works
Delphi 2010 Handbook in the Works
2009年9月3日
Indy10のTIdFTPコンポーネントのパッシブモードのGetメソッドの不具合
Delphi 2007またはそれ以前のバージョン用のIndy10の最新ナイトリ(Ver10.2.3 r3568)のTIdFTPのGetメソッドには、パッシブモードで呼び出したときにTransferTimeoutプロパティの値が使用されずに永久に受信待ちになってしまう不具合があります。
TIdFTP.InternalGetメソッド内でInitDataChannelを呼び出してFDataChannel.IOHandlerのReadTimeoutにTransferTimeoutを設定しているのですが、DataChannelのReadTimeoutがデフォルトの-1のままになっているため、LPasvCl.Connectの呼び出しの内部でDataChannel.IOHandler.ReadTimeoutにFDataChannel.ReadTimeoutを設定して結果的にTransferTimeoutの値が無視されてしまう、というのが原因と思われます。
回避策としてはOnDataChannelCreateイベントでDataChannel.ReadTimeoutにもTransferTimeoutを設定してしまう、という方法が考えられます。
TIdFTP.InternalGetメソッド内でInitDataChannelを呼び出してFDataChannel.IOHandlerのReadTimeoutにTransferTimeoutを設定しているのですが、DataChannelのReadTimeoutがデフォルトの-1のままになっているため、LPasvCl.Connectの呼び出しの内部でDataChannel.IOHandler.ReadTimeoutにFDataChannel.ReadTimeoutを設定して結果的にTransferTimeoutの値が無視されてしまう、というのが原因と思われます。
回避策としてはOnDataChannelCreateイベントでDataChannel.ReadTimeoutにもTransferTimeoutを設定してしまう、という方法が考えられます。
procedure TDataModule1.IdFTP1DataChannelCreate(ASender: TObject;
ADataChannel: TIdTCPConnection);
begin
if (ASender <> nil) and (ASender is TIdFTP) then
begin
if (TIdFTP(ASender).Passive = True) and
(ADataChannel <> nil) and (ADataChannel is TIdTCPClientCustom) then
begin
TIdTCPClientCustom(ADataChannel).ReadTimeout := TIdFTP(ASender).TransferTimeout;
end;
end;
end;
2009年9月1日
JVCL 3.38リリース
JVCL(JEDI Visual Component Library)がアップデートされてVersion 3.38(JCL Version 2.0.1)になっています。
Browse JEDI VCL for Delphi Files on SourceForge.net
JCLが2.0でDelphi/C++Builder 5、Kylix 3、Delphi.netをサポートしなくなったため、JVCLもこれらのバージョンでは動作しないと思われます(JVCL 3.37 with JCL 1.105が最終バージョン)。
トライアル版にはコマンドラインコンパイラが付属しておらずそのままではインストールできないため、JCL 2.0.1とJVCL 3.38のバイナリインストーラをAndreas Hausladenさんが用意してくれています。ダウンロードは下記のページから。
元ねたはAndreas HausladenさんのAndy’s Blog and Tools » JEDI Code Library 2.0.1 and JVCL 3.38。
2009/09/06追記: Andreas Hausladenさんによると、JVCL 3.38はDelphi 2010のdelayedディレクティブの影響でテーマ描画関係がうまく動作しなくなってしまっているようです(JCLには影響しないとのこと)。
Andy’s Blog and Tools » Once upon a delayed JVCL time…
Browse JEDI VCL for Delphi Files on SourceForge.net
JCLが2.0でDelphi/C++Builder 5、Kylix 3、Delphi.netをサポートしなくなったため、JVCLもこれらのバージョンでは動作しないと思われます(JVCL 3.37 with JCL 1.105が最終バージョン)。
トライアル版にはコマンドラインコンパイラが付属しておらずそのままではインストールできないため、JCL 2.0.1とJVCL 3.38のバイナリインストーラをAndreas Hausladenさんが用意してくれています。ダウンロードは下記のページから。
元ねたはAndreas HausladenさんのAndy’s Blog and Tools » JEDI Code Library 2.0.1 and JVCL 3.38。
2009/09/06追記: Andreas Hausladenさんによると、JVCL 3.38はDelphi 2010のdelayedディレクティブの影響でテーマ描画関係がうまく動作しなくなってしまっているようです(JCLには影響しないとのこと)。
Andy’s Blog and Tools » Once upon a delayed JVCL time…
Windowsユーザエクスペリエンスガイドライン
MSDNライブラリでVisual Style(Windows Vista/7)に対応した"Windows ユーザー エクスペリエンス ガイドライン"(UXガイド)が公開されています。PDF版もあります(775ページもありますね)。
Windows ユーザー エクスペリエンス ガイドライン
元ねたはCrystal Dew R&D LabsさんのWindows ユーザー エクスペリエンス ガイドライン。
Windows ユーザー エクスペリエンス ガイドライン
元ねたはCrystal Dew R&D LabsさんのWindows ユーザー エクスペリエンス ガイドライン。
2009年8月27日
RAD Studio 2010の新機能その11
- dbExpress/SOAP
- WDSLインポートウィザードを含むSOAP 1.2サポートが追加されます。詳細はWings of WindさんのRAD Studio 2010 Review #12: – Tooling, Help, UnicodeとChris BensenさんのRAD Studio 2010 - SOAP 1.2。
- DataSnap/HTTPサポート
- DataSnapでプロトコルとしてHTTPを使用するときにサーバ側をISS+ISAPIのDLLで構成することができます。詳細はJim TierneyさんのDataSnap 2010 HTTP support with an ISAPI dll。
- コンパイラ/Delphi
- as演算子、is演算子でインタフェース参照から元のクラス(インスタンス)にキャストできるようになります。詳細はMalcolm GrovesさんのCasting an Interface Reference to the Implementing Class in Delphi 2010。
- コンパイラ/RTTI
- クラスやそのメンバに属性(attribute)を付加(annotate)し、RTTIでそれを取得することにより、実行時に属性情報による処理を行うことができます。詳細はMalcolm GrovesさんのMore Attributes in Delphi 2010。
- IDE/リファクタリング
- 属性に対してもリファクタリング機能が使えます。詳細はMalcolm GrovesさんのRefactoring Support for Attributes in Delphi 2010。
- DataSnap/JSON
- DataSnapでTDBXCallbackを使用してサーバメソッド内からコールバック関数を呼び出すことができます。詳細はAdrian AndreiさんのDatabase Connectivity : Don’t call me, I’ll call you…。
2009年8月26日
RAD Studio 2010の新機能その10
ネタをためてしまうと駄目ですね。毎日少しずつでも書かないと…。
- Database/dbExpress
- dbExpressでFirebirdのサポートが追加され、BlackfishSQL、DataSnap、Sybase ASA (Adaptive Server Anywhere)、Sybase ASE (Adaptive Server Enterprise)、IBM DB2、Firebird、Informix、Interbase、Microsoft SQL Server、mySQL、Oracleといったデータソースを扱えるようになります(非常に残念なことにInterBase/FirebirdはProfessional SKUに含まれませんが)。またMidas.dllのソースコード(C++)が付属するようになります。詳細はWings of WindさんのRAD Studio 2010 Review #10: – Database Jewels。またAndreano LanusseさんによるビデオもNew dbExpress driver for Firebird in Delphi 2010 and C++Builder 2010で見られます。
- VCL/マルチタッチ
- 実機を使えば簡単にマルチタッチを扱うアプリケーションが作れますよ、というお話。詳細はTeam JapanさんのDelphi 2010/C++Builder 2010: マルチタッチを試す。
- DataSnap/サーバ-クライアント通信
- ウィザードでDataSnapサーバを簡単に作成でき、これを実行しておけばDataSnapクライアントから呼び出すサーバ側のメソッドをプロパティエディタ上からドロップダウンで選択するだけで簡単に呼び出しコードができてしまいます。またクラスインスタンスをJSONでシリアライズして転送することもできます。詳細はWings of WindさんのRAD Studio 2010 Review #11: – DataSnap。またDataSnap上でのJSONの扱いかたについてはAdrian AndreiさんのDatabase Connectivity : JSON Types for Server Methods in DataSnap 2010で、DataSnapを使用した軽量クライアントについてはTeam JapanさんのDelphi 2010: DataSnapでOracle11gに接続するで、それぞれ詳しく説明されています。
RAD Studio 2010発売紹介ビデオ
RAD Studio 2010の発売にともなって公式ページがRAD Studio 2010 エヴァリュエーションセンターになり、RAD Studio 2010についてMichael Swindellさん(製品戦略担当副社長)とJan Libandさん(マーケティング担当副社長)が紹介するビデオが追加されています。2010の次はクロスプラットフォームと64bit対応、という方向性はまだそのままのようです。
2009年8月25日
W32.Induc その2
この件に関するFAQの翻訳がリリースされています。
W32/Induc-A Virus (Compile-A-Virus)に関するQ&A
単純に今回の(現在の)ウィルスだけを考えればこれでいいのかもしれませんが、このFAQにある対応をくぐりぬけるような変種は簡単に考え付きます。この問題を完全に回避するには、ライブラリパスにリストアップされているLib、Bin、Imports、Projects\Bpl、Lib\Indy10およびデバッグdcuパスにリストアップされているLib\Debug、Lib\Debug\Indy10のように既知のパスに既知のユニット名のdcuが格納されているものを全て置き換えられないようにする必要があります(例えばIndy10に属するユニットのmalware版をLibに配置すればこちらがリンクされてしまいますよね)。
そのための方法としては、常に削除+既知でない場所に配置したバックアップからコピーする、ということも考えられますし、あるいはハッシュを保存しておいてそれを比較して検証するようなことでもいいかもしれません。なにかツールを作成してみますか…。
W32/Induc-A Virus (Compile-A-Virus)に関するQ&A
単純に今回の(現在の)ウィルスだけを考えればこれでいいのかもしれませんが、このFAQにある対応をくぐりぬけるような変種は簡単に考え付きます。この問題を完全に回避するには、ライブラリパスにリストアップされているLib、Bin、Imports、Projects\Bpl、Lib\Indy10およびデバッグdcuパスにリストアップされているLib\Debug、Lib\Debug\Indy10のように既知のパスに既知のユニット名のdcuが格納されているものを全て置き換えられないようにする必要があります(例えばIndy10に属するユニットのmalware版をLibに配置すればこちらがリンクされてしまいますよね)。
そのための方法としては、常に削除+既知でない場所に配置したバックアップからコピーする、ということも考えられますし、あるいはハッシュを保存しておいてそれを比較して検証するようなことでもいいかもしれません。なにかツールを作成してみますか…。
Delphi 2010/C++Builder 2010/RAD Studio 2010リリース
予定通りDelphi 2010/C++Builder 2010/RAD Studio 2010が発売開始になりました。現時点ではESD(Electronic Software Distribution)版のみで、パッケージ版は2009/09/中旬予定とのことです。残念ながら開発環境からWindows 2000が外れてしまいました。あとは2009で導入された
Delphi® 2010とRAD Studio™製品ファミリー新バージョンが 本日、世界同時発売開始、タッチサポートも搭載
License Terms for Delphi 2010, C++Builder 2010 and Embarcadero RAD Studio 2010
Delphi Prism 2010 使用契約
Embarcadero Delphi 2010 および C++Builder 2010 のリリース ノート
Delphi Prism 2010 リリース ノート
Embarcadero Delphi 2010 および C++Builder 2010 のインストール ノート
Delphi Prism 2010 のインストール ノート
RAD Studio 2010 Released!
PROFESSIONAL エディションおよび PROFESSIONAL ACADEMIC エディションの DB Express 配備制限に適用される追加条項の影響によりProfessional SKUでdbExpress経由のリモートデータベースアプリケーションが作れなくなったこともあり、導入は見合わせとはいわないまでも微妙です。本格導入は遠のいたかも…。
Delphi® 2010とRAD Studio™製品ファミリー新バージョンが 本日、世界同時発売開始、タッチサポートも搭載
License Terms for Delphi 2010, C++Builder 2010 and Embarcadero RAD Studio 2010
Delphi Prism 2010 使用契約
Embarcadero Delphi 2010 および C++Builder 2010 のリリース ノート
Delphi Prism 2010 リリース ノート
Embarcadero Delphi 2010 および C++Builder 2010 のインストール ノート
Delphi Prism 2010 のインストール ノート
RAD Studio 2010 Released!
2009年8月21日
W32.Induc
既に各所で報じられていますが、DelphiのVer4-7を経由して広がるコンピュータウィルスが報告されています。現時点での危険性は低いようですが、この手法を模倣したもっと凶悪なmalwareの出現の可能性を考えると、早期に対策するべきだと思われます。
まず確認方法ですが、Delphiのインストール先のLibフォルダにsysconst.bakが存在し、sysconst.dcuのタイムスタンプがつい最近になっているという場合、ウィルスに感染している可能性が濃厚です。この場合、Delphiをアンインストールして、Delphiのインストール先フォルダを完全削除し、再インストールするのが望ましいと思われます(再インストールが難しい場合は正常なsysconst.pasをコンパイルしてsysconst.dcuを再生成する方法もありますが、あまりお勧めしません)。
また対策としては今のところとりあえず怪しいプログラムをいきなり実行しない、ということぐらいでしょうか(sysconst.bakを作っておくという手はいつまで通用するのかわからないので)。Allen Bauerさんによれば、
ということなので、正式なアナウンス待ちということで。当該ディレクトリをログオンユーザの権限で書き込みできないようにする、という手も考えられますが…。
ちなみに第一発見者はロシアのGunSmokerさんのようです。
参考URL:
Team Japan: Delphiをターゲットとしたウイルスの脅威について
Embarcadero Discussion Forums: Virus use old Delphi versions to spread ...
Symantec: W32.Induc.A
Sophos security analysis: W32/Induc-A Win32 executable file virus (Virus.Win32.Induc.a)
マカフィー: W32/Induc | ウイルス情報
エフセキュアブログ: 0wn1ng Delphi(0wn1ng Delphi - F-Secure Weblog : News from the Labの翻訳)
Viruslist.com: Analyst's Diary
2009/08/25追記: この件に関するFAQがリリースされています。すぐに翻訳されると思いますが、とりあえず英文のリンクを。
Frequently Asked Questions about the W32/Induc-A Virus (Compile-A-Virus)
まず確認方法ですが、Delphiのインストール先のLibフォルダにsysconst.bakが存在し、sysconst.dcuのタイムスタンプがつい最近になっているという場合、ウィルスに感染している可能性が濃厚です。この場合、Delphiをアンインストールして、Delphiのインストール先フォルダを完全削除し、再インストールするのが望ましいと思われます(再インストールが難しい場合は正常なsysconst.pasをコンパイルしてsysconst.dcuを再生成する方法もありますが、あまりお勧めしません)。
また対策としては今のところとりあえず怪しいプログラムをいきなり実行しない、ということぐらいでしょうか(sysconst.bakを作っておくという手はいつまで通用するのかわからないので)。Allen Bauerさんによれば、
私たちは、皆さんがこのウイルスに感染しているかどうかを調べる方法、そして、感染していた場合の推奨される対応方法についてまとめる作業を進めています。この推奨されるステップでは、皆さんが再感染しないようにガードされるように作業しています。
ということなので、正式なアナウンス待ちということで。当該ディレクトリをログオンユーザの権限で書き込みできないようにする、という手も考えられますが…。
ちなみに第一発見者はロシアのGunSmokerさんのようです。
参考URL:
Team Japan: Delphiをターゲットとしたウイルスの脅威について
Embarcadero Discussion Forums: Virus use old Delphi versions to spread ...
Symantec: W32.Induc.A
Sophos security analysis: W32/Induc-A Win32 executable file virus (Virus.Win32.Induc.a)
マカフィー: W32/Induc | ウイルス情報
エフセキュアブログ: 0wn1ng Delphi(0wn1ng Delphi - F-Secure Weblog : News from the Labの翻訳)
Viruslist.com: Analyst's Diary
2009/08/25追記: この件に関するFAQがリリースされています。すぐに翻訳されると思いますが、とりあえず英文のリンクを。
Frequently Asked Questions about the W32/Induc-A Virus (Compile-A-Virus)
2009年8月18日
RAD Studio 2010 スニークプレビュー その3
RAD Studio 2010の公式ページにスニークプレビュー第3弾"Make the Connection with RAD Studio 2010"(日本語版:"RAD Studio 2010のデータベース接続")が追加されています。内容は予告どおりデータベース/DataSnap接続関係です。
これでいよいよ来週はリリースということに…あれ?カウントダウンがなくなってる…。
- Firebird 2.1/1.5サポートの追加とInterBase 2009、Microsoft SQL Server 2008、Oracle 11g、MySQL 5.1のドライバの更新
- DataSnapによるマルチティア接続
- DataSnapサーバを簡単に作成
- DataSnapサーバとクライアント間のデータストリームのフィルタリング
- RESTful Web ServicesとJSONサポートの追加
これでいよいよ来週はリリースということに…あれ?カウントダウンがなくなってる…。
RAD Studio 2010の新機能その9
- VCL/OnGestureイベント
- TTouchManagerのOnGestureイベントにはジェスチャに関する情報、位置、アングル、距離、慣性(イナーシャ)ベクタがTGestureEventInfoレコード型で渡されます。例えばInteractiveGestureOptionsにigoPanInertiaを指定するとEventInfo.GestureIDがigiPanのOnGestureが連続して発生するようになります(最初の1回はEventInfo.FlagsにgfBeginが含まれていて区別可能)。詳細はSeppy BloomさんのRAD Studio 2010 - Touch & Gestures Part 2。
2009年8月17日
RAD Studio 2010の新機能その8
- コンパイラ/RTTI
- TCustomAttributeクラスを派生してカスタム属性を定義し、これをクラスやクラスのメンバに適用することで、RTTIを使用して実行時にその属性を取得できるようになります(でいいのかな?後で再確認)。これを利用してORマッパ(object-relational mapper)のようなものも作れます、ということのようです。詳細はMalcolm GrovesさんのRTTI and Attributes in Delphi 2010とWings of WindさんのRAD Studio 2010 Review #9: – Attributes, The new RTTI and DB Access。
2009年8月15日
RAD Studio 2010の新機能その7
- VCL/グラフィック
- PNGとBMPでアルファチャンネルをサポートするようになります。TDirect2DCanvasでDirect2Dをサポートします。ジェスチャの形状をCanvasに描画することもできます。詳細はWings of WindさんのRAD Studio 2010 Review #8: – And now some feedback from us。
- VCL/新しいユニット
- Chris Bensenさんによる新しく追加されたユニットの説明です。Delphi 2010 - New Units
2009年8月13日
RAD Studio 2010の新機能その6
- IDE/メニュー項目
- 表示メニューからメッセージペインが開けるようになったり、プロジェクトメニューからQA測定、QA検査が呼び出されるようになったり、コンポーネントメニューからWSDLインポータが呼び出せるようになったりします。詳細はTeam JapanのRAD Studio 2010: メニューの地味な変更。
- VCL/タッチキーボード
- VCLのTouchカテゴリのTTouchKeyboardコンポーネントで仮想キーボードを使用することができるようになります。ファンクションキーがないとか、日本語環境で標準的な109キーレイアウトではないとか、微妙な気がしますが…。Windowsキーがない件については"Microsoftのスクリーンキーボードとは違うアプローチを選択した(
we decided to take a different approach to the Touch Keyboard than Microsoft did with their on screen keyboard
)とのことです。詳細はTeam JapanのRAD Studio 2010: タッチキーボードとChris BensenさんのRAD Studio 2010 - Touch Keyboard。Chris Bensenさんのコメントによれば、101/102/106キーボードレイアウトが入力ロケールにより選択されるが、アジア系言語は日本語だけで、中国語、韓国語、アラビア語は間に合わなかった、とのことです。 - コンパイラ/delayed属性
- externalな関数にdelayed属性を付加することでその呼び出しまでバインドを遅らせることができるようになります。詳細はWings of WindさんのRAD Studio 2010 Review #6: VCL – Language enhancements for Touch and Gestures。
- VCL/WICサポート
- WIC(Windows Imaging Component)をサポートするようになります(WICはWindows XP SP3以降で使用可能です)。BMP/GIF/ICO/JPEG/PNG/TIFF形式およびRAW形式の画像をWICで経由扱うことができます。詳細はWings of WindさんのRAD Studio 2010 Review #7: – A historical moment。
- VCL/IOUtilsユニット
- 新しく追加されたIOUtils.pasでディレクトリの列挙やファイルの列挙をfor-in構文(と無名メソッド)で簡単にできるようになります。詳細はMalcom GrovesさんのIOUtils.pas – OO File System Access in Delphi 2010。RANさん、情報ありがとうございます。
2009年8月12日
2009年8月11日
RAD Studio 2010 スニークプレビュー その2
RAD Studio 2010の公式ページにスニークプレビュー第2弾"Free Your Customer From Keyboards with Dazzling Touch Based User Interfaces"(日本語版:"タッチベースのユーザーインタフェイスでキーボード操作から解放!")が追加されています。内容は予告どおりタッチ、ジェスチャなど"Natural Input"関係です。
今回はChris Bensenさんの部屋からです。が、ん?オリジナルと日本語版で尺が違う…オリジナルは2分37秒、日本語版は8分49秒ってどういうことでしょう?
次回は2009/08/18でFirebird、DataSnapなどのデータベース接続についてとなっています。
ところでhttp://blogs.embarcadero.com/のwebサーバが落ちてます(2009/08/11 17:08JST現在)。pingは通るようですが。2009/08/12 10:20JST現在で復旧しています。2009/08/12 17:27現在でまた落ちてます。なんか不安定です。2009/08/13 10:20現在で復旧しています。
2009/08/12追記: オリジナルも8分49秒のものに入れ替えられています。
- タッチ対応
- Windows 7のマルチタッチ
- カスタムジェスチャ
- 仮想キーボード
- 既存のアプリケーションのタッチ/ジェスチャ対応
今回はChris Bensenさんの部屋からです。が、ん?オリジナルと日本語版で尺が違う…オリジナルは2分37秒、日本語版は8分49秒ってどういうことでしょう?
次回は2009/08/18でFirebird、DataSnapなどのデータベース接続についてとなっています。
ところでhttp://blogs.embarcadero.com/のwebサーバが落ちてます(2009/08/11 17:08JST現在)。pingは通るようですが。2009/08/12 10:20JST現在で復旧しています。2009/08/12 17:27現在でまた落ちてます。なんか不安定です。2009/08/13 10:20現在で復旧しています。
2009/08/12追記: オリジナルも8分49秒のものに入れ替えられています。
Delphi 2010 プレビュー その5 まとめ
2009/08/06に行われたDelphi/C++Builder次期バージョンプレビュー会のまとめなど。
まずここまで出てこなかった項目について。
プレビュー会でいろいろ見ての感想その他。
まずここまで出てこなかった項目について。
- 言語構成ツールでIDEのUIやリンクするライブラリの言語を切り替えられます。切り替えはインストール時に言語(英語、ドイツ語、フランス語、日本語)毎にインストール対象としたものから選択するようになります(例えば英語、日本語とインストールしておけばこの2ヶ国語間で切り替えられる)。
- トランスレーションリポジトリについても、事前翻訳されたリポジトリが多数用意されており、自動翻訳を使用することで、より簡単に国際化アプリケーションを作成することができるようになります。
- RTTIの拡張はProject ChromiumのライトウェイトORマッピングを実現するためにも必要だったようです。
- クラスエクスプローラのクラス階層図はSVG形式でエクスポートできるそうです。
- RAD Studio 2010はAll-AccessのInstantOn上で動作します。
- Subversion対応は見送られたようです。VCSを組み込む上で必要なサポートはOTA上に用意されているようですが。
- PostgreSQLは日本以外ではマイナーなので対応しないようです。QC41013が再度Openされたらみんなでvoteしましょう。
- 発売は意地でも2009/08/25(PDT)らしいです。
プレビュー会でいろいろ見ての感想その他。
- 言語構成ツールによる言語の切り替えのサポートは、日本語ユーザが英語を基本言語とする国際化対応アプリケーションを作成する上で嬉しい機能です。これで英語版dcuの取り出し、差し替えとか不毛なことをしなくて済みます。
- 全体としては地道に細かい改善を積み重ねた、という印象です(全く新しいのはジェスチャ関係とTDirect2DCanvasくらいでは?)。マーケティング的にはWindows 7に正式対応、でしょうけれども。
- DataSnapはもっと実用面を考えたプロモーションが必要だと思います。こういうシステムでこういうように使うと効果的ですよ、といったところを。
- RAD Studio 2010は「買い」か?ですが、2009ユーザは「買い」でしょう。バグもたくさん取れているようですし。では2007以前のユーザにとってはどうでしょう?これはいつ"Unicode Ready"に移行するか、ということになりますが、次のCommodoreやDelphi Xで少なからず混乱する可能性を考慮すれば、2010は一つのタイミングだと思います(次の次くらいまでスキップするのも一つの見識ではありますが)。
- All-AccessならDelphi 2007もDelphi 2009も使えますよ、というのはアピールするらしいです。
- 製品ロードマップは早く更新したほうがいいと思います。
- マルチタッチのデモに使ったHPのノートPCは前日に秋葉原で買ってきたそうです。
Delphi 2010 プレビュー その4 データベース
2009/08/06に行われたDelphi/C++Builder次期バージョンプレビュー会のまとめです。データベース関係。
- dbExpress
- Firebirdサポート追加
- 正式にdbExpressでFirebird 1.5/2.1に接続できるようになります。
- 各データベースの最新版に対応
- InterBase 2009、Microsoft SQL Server 2008、Oralce 11g、MySQL 5.1に対応します。
- SQL Native Clientドライバ
- Windows 2000でも動作するSQL Native Client 2005用ドライバとMARS(Multiple Active Results Sets - 複数のアクティブな結果セット)サポートの追加。
- date/time関数
- ロケール依存書式文字列とロケールに基づくTimestampのオフセットのサポート。
- MIDAS.DLLソースコード
- MIDAS.DLLのソースコードが添付されるそうです。
- Web Service SOAP 1.2クライアントのサポート
- DataSnap
- 新規DataSnapサーバ、新規DataSnap WebBrokerアプリケーションのウィザードの追加
- HTTPコミュニケーションとインプロセスコネクティビティをサポート
- HTTPトンネリングサポート
- ファイアウォール外のクライアントで使用します。
- DataSnap HTTPリクエストのためのRESTサポート
- コミュニケーションストリーム処理のためのフィルタ
- フィルタリングのための新しいDataSnap APIとコンプレッションフィルタの追加。
- コールバックおよびJSON(JavaScript Object Notation)
- サーバメソッドでTJSONValueおよびその継承を受け入れ可能。
- WebサーバアプリケーションでDataSnapサーバをホスティング
- .NETプロキシ生成
2009年8月10日
RAD Studio 2010の新機能その5
- IDE/クラシックスタイル
- Delphi 2010のIDEをDelphi 7ライクなクラシックスタイルに設定する方法をAndreano Lanusseさんが動画つきで説明しています。
Andreano Lanusse » How to configure Delphi 2010 to look, work, and feel like Delphi 7またはVideo: How to configure Delphi 2010 to look, work, and feel like Delphi 7から。 - VCL/Delphi Natural Input
- ジェスチャ、マルチタッチ、仮想キーボードなどの、従来とは異なる、あるいはWindows 7で新しく追加された入力であるNatural Inputのサポート。詳細はWings of WindsさんのRAD Studio 2010 Review #5: VCL – Natural Input Overview、Seppy BloomさんのRAD Studio 2010 - Touch & Gestures Part 1とChris BensenさんのRAD Studio 2010 - Gestures and Multi-Touch。Seppy BloomさんによればGesturesカテゴリのTGestureListView/TGesturePreview/TGestureRecorderコンポーネントはジェスチャデザイナで使用しているものだそうです。
- IDE/ソースコードフォーマッタ
- ソースコードを指定したルールに従って整形しなおすことができます。詳細はTeam JapanのRAD Studio 2010: ソースコードの整形。
Delphi 2010 プレビュー その3 VCL
2009/08/06に行われたDelphi/C++Builder次期バージョンプレビュー会のまとめです。VCL関係です。
今日はここまで。
- Delphi Natural Input
- タッチ
- ベーシックタッチ
- 一本の指でマウスのエミュレーションを行う。通常のタッチパネルでサポート。
- マルチタッチ
- 二本以上の指でタッチした位置や距離を検知する。Windows 7以降のOSと専用のハードウェアが必要になる。
- ジェスチャ
- マウスやタッチの動きでジェスチャイベントが発生する。
- ジェスチャ/仮想キーボード
- ジェスチャ
- 独自実装のジェスチャエンジンをプラグイン可能(ジェスチャマネージャコンポーネントを配置するだけ)。特殊なハードウェアは不要。標準のジェスチャもカスタム定義したジェスチャも使用可能。カスタム定義も専用デザイナで簡単にできる。ジェスチャの割り当てはコンポーネント単位に指定できる。
- 仮想キーボード
- TTouchKeyboardコンポーネントで仮想キーボードを実現。カスタマイズも可能。
- Direct2D
- Windows 7のDirect2D/DirectWriteのサポート
- TCustomCanvasから派生したTDirect2DCanvasを使用する。
- TGraphicによるWIC(Windows Imaging Component)ラッパ
- TImageでTIFF形式をサポート
- VCLの機能強化
- Gridコンポーネント
- テーマサポートの追加。
- IOUtils.pas
- 新しいI/Oユーティリティクラスの追加。
- CM_INPUTLANGCHANGE
- 言語の変更を通知するカスタムメッセージの追加。
- TIcon.AssignTo
- ビットマップへのアサインが可能に。
- Month Calendarボックスドロップダウン
- オブジェクトインスペクタで日付をカレンダで指定可能に。
- TCategoryButtonsコンポーネント
- インプレースリネーム機能のサポート。
- TCheckListBoxコンポーネント
- CheckAllメソッドの追加。
- PtInCircle関数
- Typesユニットに追加。
- TRichEditコンポーネント
- 現在のカーソル位置を返すActiveLineNoプロパティを追加。
- Boolean型プロパティ
- オブジェクトインスペクタでBooleanをチェックボックスで指定可能に。
今日はここまで。
Delphi 2010 プレビュー その2 コンパイラ
2009/08/06に行われたDelphi/C++Builder次期バージョンプレビュー会のまとめです。次にコンパイラ、言語関係。
- Delphiコンパイラ
- RTTI
- 取得可能なRTTI(実行時型情報)が拡張される。クラス型やレコード型のメンバ(メソッドやフィールド、プロパティ)を実行時に知ることができ、メソッドの呼び出しも可能になる。RTTIユニットを使用する。RTTIなのでprivate属性のものは取得できない。
- カスタム属性
- [(属性)]でクラスなどの定義にカスタム属性を付加する。
- クラスコンストラクタ/クラスデストラクタ
- 従来ユニットのinitialization部、finalization部で行っていたような処理をクラスコンストラクタ(クラスのロード時に呼び出し)、クラスデストラクタ(クラスのアンロード時に呼び出し)で行うことができるようになる。
- C++コンパイラ
- FastMM
- (やっと)FastMMが標準のメモリマネージャとして組み込まれる。
- #pragma once
- VC++と同様にインクルードガードに#pragma onceを使用できるようになる。
- XML生成オプション -Zx
- __FUNCTION__マクロのサポート
- [[deprecated]]属性のサポート
- セキュア(..._s)関数
- VC++互換のセキュア関数が使用できるようになった。
- テンプレートクラスのための__declspec(dllimport)/__declspec(dllexport)
- 実際には不具合の修正だとか。
Delphi 2010 プレビュー その1 IDE
2009/08/06に行われたDelphi/C++Builder次期バージョンプレビュー会のまとめです。まずIDE関係から。
- 操作性の改善
- IDEインサイト
- [F6]で表示されるIDEInsightでキーボードから全ての機能にアクセスできる。
- コードフォーマッタ
- パラメータに従ってソースコードを自動的に整形(パラメータはDelphiとC++で別々に設定できる)。
- バックグラウンドコンパイル
- オプションでコンパイルをバックグラウンドで実行させることができる。バックグラウンドコンパイルを実行するとソースコードなどは一時的なスナップショットが取られ、エディタ上で編集を続行可能。C++はコンパイル時間が長いので特に有効。
- コードエディタ上の検索
- Firefoxライクな検索バーで検索候補をハイライト表示し、次候補([F3])および前候補([SHIFT]+[F3])の検索が可能になる。
- 開き直す
- 開き直すことのできるプロジェクトおよびソースの数、履歴を変更可能に。
- ユニットの使用
- IDEInsight同様にフィルタリング可能に。
- 新規作成のフィルタ
- IDEInsight同様にフィルタリング可能に。
- XMLデータバインディングウィザードの改善
- ジェネリック構文のリファクタリングをサポート
- デバッガ
- ビジュアライザ
- 日付時刻型やTStringsクラスなどをデバッガ上でよりわかりやすく表示できる。
- カスタムビジュアライザ
- Open ToolsAPIでカスタムビジュアライザを作成して組み込むことができる。sourceディレクトリにサンプルとして標準添付ののビジュアライザのソースがある。
- スレッドデバッグサポート
- 選択したスレッド内でのステップ実行やデバッグが可能になる。各スレッドの停止、再開を任意に指定可能になる。ブレークポイントのプロパティで特定のスレッドをターゲットにすることができるようになる。また各スレッドに名前をつけて区別するようになる(名前がないとWindowsがつけるスレッドIDで区別することになる)。
- モデリング
- 新しいlook&feelのモデル図、グラデーションによる塗りつぶし、項目間のリンクの作成機能などが追加
- 検査/測定機能はモデリング機能を有効にしなくても利用可能になる
- C++のモデリング機能のパフォーマンス改善
- ダイアグラムエディタの強化
2009年8月8日
RAD Studio 2010の新機能その4
- IDE/細かい改善
- プロジェクトマネージャペインで並び順が指定できるようになったり、デザイン時パッケージと実行時パッケージのアイコンが区別できるようになったり、コードエディタペインのブレークポイントやブックマークが移動できるようになったりします。またIDEインサイトではフォームやデータモジュール上のコンポーネントを探したり、プロジェクトオプションを探すこともできるようになります。詳細はWings of WindさんのRAD Studio 2010 Review #4: Project Management Enhancements。
- IDE/新機能紹介ビデオ公開
- Andreano LanusseさんがIDEの新機能を紹介するビデオを公開しています。Video: What's new in Delphi 2010 and C++Builder 2010 - IDE Featuresからも見られます。
- IDE/ToolsAPI拡張
- ToolsAPIが拡張されて、IDE上のドッカブルビューが(公式に)作成できるようになったり、エディタ領域に追加のビューを組み込めるようになったり、IDEインサイトのサポートが追加されたり、プロジェクトマネージャのローカルメニューへのメニューの追加のサポートが拡張されたり、IOTAProjectインタフェースで提供される情報が増やされたり、デバッガビジュアライザの作成と登録がサポートされたり、デバッガインタフェースが新機能をサポートするように拡張されたり、ビルドシステムからの通知がサポートされたり、IDEへのバージョンコントロールシステムのサポートが追加されたり、ToolsAPIからより多くのアクションにアクセスできるようにコードフォールディングのインタフェースが拡張されたりします。詳細はChris HesikさんのRAD Studio 2010: ToolsAPI enhancements。
- IDE/ジェネリクス用のリファクタリングとヘルプインサイト
- ジェネリクスに対してもリファクタリング機能やヘルプインサイトが有効になります。詳細はDarren KosinskiさんのRAD Studio 2010 - Refactoring & Help Insight for Generics。
2009年8月7日
C++0x規格案からConceptが削除された経緯
大詰めを迎えつつある(はずの)C++0xの規格案からConceptが削除された、というニュースは一部のC++0xウォッチャな人々に驚きを持って迎えられました。C++標準化委員会の偉い人であるDouglas Gregorさんによる理由と経緯の説明をhitoさんが翻訳してくださっています。C++0xに興味がある人は読んでおくべき。
What Happened in Frankfurt? « C++Next
本の虫: Douglas Gregor、フランクフルト会議について語る
2009/08/15追記: Bjarne StroustrupさんとDanny Kalevさんのやりとりもhitoさんが翻訳してくださいました。
本の虫: Bjarne Stroustrup、Conceptと未来を語る
What Happened in Frankfurt? « C++Next
本の虫: Douglas Gregor、フランクフルト会議について語る
2009/08/15追記: Bjarne StroustrupさんとDanny Kalevさんのやりとりもhitoさんが翻訳してくださいました。
本の虫: Bjarne Stroustrup、Conceptと未来を語る
RAD Studio 2010の新機能その3
- IDE/アクションプロパティエディタ
- プロパティエディタ上のアクションプロパティから新規アクションや標準アクションを便利に設定することができるようになります。詳細はChris BensenさんのRAD Studio 2010 - Actions。
- コンパイラ/RTTI機能の拡張
- 新しいRTTIの拡張機能を使用すると従来取得できなかった情報をクラスやレコードから取り出せるようになります。しばらく前にDelphi-MLで質問が出ていたレコード型のフィールド名の取得もこれで可能になります。詳細は我らがTeam JapanのDelphi 2010: RTTI新機能を試す。
2009年8月6日
Delphi/C++Builder次期バージョンプレビュー会
Team Japan » 本日、Delphi/C++Builder次期バージョンプレビュー会
これから中目黒に行ってきます。実況はしませんが、随時更新の予定です。
18:00 準備完了。もう時間ですが誰か足りないような…。始まりました。
みなさん揃ったようです。というかいつもの人たちだけですね…。
FORUM 8さんのVRはヌルヌルに動きます。イケてます。OpenGLだそうです。
高橋さん登場でRAD Studio 2010のお話に。
時間オーバでバタバタしつつ終了しました。なかなか面白かったです。出席者および関係者のみなさん、おつかれさまでした。プレビューのまとめ、感想などは別途。
2009/08/07追記: 中継の録画が見られるようになっているようです。たぶんVRの凄さはこれではわからないと思いますが。
Delphi/C++Builder次期バージョンプレビュー会ライブ - 録画
2009/08/10追記: プレビュー会についてのリンクをまとめておきます。
Delphi 2010 プレビュー その1 IDE
Delphi 2010 プレビュー その2 コンパイラ
Delphi 2010 プレビュー その3 VCL
Delphi 2010 プレビュー その4 データベース
Delphi 2010 プレビュー その5 まとめ
2009/08/11追記: @ITさんの記事が出ています。
Delphi新版はタッチ操作のアプリケーション開発を可能に - @IT
これから中目黒に行ってきます。実況はしませんが、随時更新の予定です。
18:00 準備完了。もう時間ですが誰か足りないような…。始まりました。
みなさん揃ったようです。というかいつもの人たちだけですね…。
FORUM 8さんのVRはヌルヌルに動きます。イケてます。OpenGLだそうです。
高橋さん登場でRAD Studio 2010のお話に。
時間オーバでバタバタしつつ終了しました。なかなか面白かったです。出席者および関係者のみなさん、おつかれさまでした。プレビューのまとめ、感想などは別途。
2009/08/07追記: 中継の録画が見られるようになっているようです。たぶんVRの凄さはこれではわからないと思いますが。
Delphi/C++Builder次期バージョンプレビュー会ライブ - 録画
2009/08/10追記: プレビュー会についてのリンクをまとめておきます。
Delphi 2010 プレビュー その1 IDE
Delphi 2010 プレビュー その2 コンパイラ
Delphi 2010 プレビュー その3 VCL
Delphi 2010 プレビュー その4 データベース
Delphi 2010 プレビュー その5 まとめ
2009/08/11追記: @ITさんの記事が出ています。
Delphi新版はタッチ操作のアプリケーション開発を可能に - @IT
RAD Studio 2010の新機能その2
- IDE/ファイル|開き直すメニューの改良
- IDEの[ファイル]→[開き直す]で保持されるプロジェクト、ファイルの最大数や実際に保持されているアイテムをエディットできるようになります。詳細はChris HesikさんのRAD Studio 2010: Improved File|Reopen menuとNick HodgesさんのRAD Studio 2010 IDE Features: File|Reopen。日本語だとTeam Japan » RAD Studio 2010: ファイル・プロジェクトの再オープン。
- IDE/デバッグビジュアライザ
- デバッグ時のローカル変数をよりわかりやすく表示できるようになります。日付時刻(TDateTime)や文字列リスト(TStrings)用のものは標準で付属しますが、OTA(Open Tools API)を利用して作ることもできます。詳細はWings of WindさんのRAD Studio 2010 Review #3: Debug Visualizers.。
2009年8月5日
RAD Studio 2010の新機能その1
RAD Studio 2010の新機能についての情報が続々と公開されています。ということで可能な限りフォローしてみます。
ちなみにNick Hodgesさんの右隣の部屋はChris Bensenさん(シニアR&Dエンジニア)の部屋だそうです。
- IDE/バックグラウンドコンパイル
- Delphi/C++Builder 2010ではバックグラウンドでコンパイルを実行させることができるようになります。詳細はAndreano LanusseさんのBackground Compilation in Delphi 2010 and C++Builder 2010。
- IDE/検索機能の強化
- 検索結果がコードエディタ上でハイライト表示されます。また検索ダイアログがFirefoxのように検索バーに置き換わりました。詳細はDarren KosinskiさんのEmbarcadero RAD Studio 2010。
- IDE/IDEインサイト
- IDE上で呼び出し可能な機能を集約して一覧表示します。詳細はNick HodgesさんのRAD Studio 2010 – IDE Features: IDE InsightとMark DuncanさんのRAD Studio 2010 - IDE Insight Part 1。日本語だとTeam Japan » RAD Studio 2010: IDEインサイト。
- IDE/C++Builderクラスエクスプローラ
- C++Builderでもクラスエクスプローラが使用できるようになります。またクラスの継承関係をグラフィカルに表示できます。詳細はDavid DeanさんのC++Builder 2010 and the new Class Explorer。日本語だとTeam Japan » RAD Studio 2010: 帰ってきた C++ クラスエクスプローラー。
- IDE/スレッド指定ブレークポイント
- ブレークポイントのプロパティで実行スレッドをIDまたは名前で指定できるようになります。またデバッガ上でスレッドを扱いやすくするためにTThreadクラスでスレッドに名前をつけられるようになります。詳細はChris HesikさんのRAD Studio 2010: Thread-specific breakpoints。
- IDE/コンポーネントツールバー
- (コンポーネントパレットではなく)Delphi 7以前のようなコンポーネントツールバーを使用することができるようになります。詳細はWings of WindさんのRAD Studio 2010 Review #2: The new old Component Toolbar.とAndreano LanusseさんのThe old Component Toolbar is back and better in RAD Studio 2010、新しいツールパレットのほうが気に入ってるんだけどな、というNick HodgesさんのRAD Studio 2010 — IDE Features: "Old School" Tool Palette。日本語だとTeam Japan » RAD Studio 2010: コンポーネントツールバー。
- IDE/プロパティエディタ
- プロパティエディタ上でBooleanにチェックボックスがつきました。また日付型ではDateTimePickerライクなプロパティエディタが使えるようになります。詳細はChris BensenさんのEmbarcadero RAD Studio 2010。
- IDE/ユニット表示、フォーム表示
- ユニット表示([Ctrl]+[F12])、フォーム表示([Shift]+[F12])はIDEインサイトを使用するように変更されました。詳細はChris BensenさんのRAD Studio 2010 - The IDE。
ちなみにNick Hodgesさんの右隣の部屋はChris Bensenさん(シニアR&Dエンジニア)の部屋だそうです。
2009年8月4日
RAD Studio 2010 スニークプレビュー その1
EmbarcaderoのwebサイトにRAD Studio 2010の公式ページが登場しました。スニークプレビューの第1弾"RADically Reduce Development Time with RAD Studio 2010"はIDEの新機能についてです。
次回のプレビューはタッチ/ジェスチャ機能についてで、2009/08/11に公開だそうです。またカウントダウンによればRAD Studio 2010は2009/08/25発売ですね(もちろんPDTでしょうけど)。
元ねたはMarco CantuさんのIDE Sneak Preview of RAD Studio 2010。
2009/08/05追記: 早くも翻訳されています。
RAD Studio, C++Builder, Delphi Prism, Delphi 2010スニークプレビュー
Application Development with RAD Studio 2010 |Delphi , C++Builder & Delphi Prism
2009/08/05追記: RAD Studio/Delphi/C++Builder 2010は2009/08/25 00:00PDT(2009/08/25 16:00JST)からダウンロード版が購入可能になるとのことです。
Windows 7対応のDelphi/C++Builder新版が8月25日発売へ - ニュース:ITpro(要登録)
- IDEインサイト
- コードフォーマッタ
- クラスエクスプローラ
- データビジュアライザ
- デバッガスレッド制御
次回のプレビューはタッチ/ジェスチャ機能についてで、2009/08/11に公開だそうです。またカウントダウンによればRAD Studio 2010は2009/08/25発売ですね(もちろんPDTでしょうけど)。
元ねたはMarco CantuさんのIDE Sneak Preview of RAD Studio 2010。
2009/08/05追記: 早くも翻訳されています。
RAD Studio, C++Builder, Delphi Prism, Delphi 2010スニークプレビュー
Application Development with RAD Studio 2010 |Delphi , C++Builder & Delphi Prism
2009/08/05追記: RAD Studio/Delphi/C++Builder 2010は2009/08/25 00:00PDT(2009/08/25 16:00JST)からダウンロード版が購入可能になるとのことです。
Windows 7対応のDelphi/C++Builder新版が8月25日発売へ - ニュース:ITpro(要登録)
2009年8月3日
Micro FocusによるBorlandの買収が完了
2009/05/06の発表以来どうなることやらという雰囲気も漂っていたMicro FocusによるBorland Softwareの買収が2009/07/27に完了したとのことです。
Completion of Borland acquisition - Micro Focus
既に www.borland.com は www.microfocus.com にリダイレクトされるようになっています。と思ったら http://www.borland.com/jp/ はまだそのままですね…。
2009/08/03追記: Micro Focus Finalizes Borland Acquisition with Sweetened Deal -- Application Development Trendsによれば最終的に1株1.50USD、合計1億1千万USD(約107億円)で合意したそうです。
Completion of Borland acquisition - Micro Focus
既に www.borland.com は www.microfocus.com にリダイレクトされるようになっています。と思ったら http://www.borland.com/jp/ はまだそのままですね…。
2009/08/03追記: Micro Focus Finalizes Borland Acquisition with Sweetened Deal -- Application Development Trendsによれば最終的に1株1.50USD、合計1億1千万USD(約107億円)で合意したそうです。
2009年7月31日
2009年7月29日
2009年7月27日
Weaverプレビュー会開催
ちょっと前の情報ですが、Weaver (Delphi/C++Builder 2010)のプレビュー会が2009/08/06に行われるそうです。
Delphi/C++Builder次期バージョンプレビュー会のお知らせ
WeaverのFTには入れてもらえなかったので、どうするかなぁ…。もっとも人数制限もあるし、どうしよう以前に相手にしてもらえない可能性もあるわけですが。
2009/07/29追記: 上記リンク先にQ&Aが追加されています。別に当日PCを持っていかなくてもいいらしいです。
2009/08/05追記: 駆け込みですが出席することにしました。
Delphi/C++Builder次期バージョンプレビュー会のお知らせ
WeaverのFTには入れてもらえなかったので、どうするかなぁ…。もっとも人数制限もあるし、どうしよう以前に相手にしてもらえない可能性もあるわけですが。
2009/07/29追記: 上記リンク先にQ&Aが追加されています。別に当日PCを持っていかなくてもいいらしいです。
2009/08/05追記: 駆け込みですが出席することにしました。
2009年7月24日
Delphi Live! 2009/プレゼンテーション資料ダウンロード
2009/05に行われたDelphi Live! 2009のプレゼンテーション資料がダウンロードできるようになっています。
Presentation Download | Delphi Live ! - The Delphi Developer Conference!
元ねたはDelphi.orgのDelphiLive! Presentation Downloads。
Presentation Download | Delphi Live ! - The Delphi Developer Conference!
元ねたはDelphi.orgのDelphiLive! Presentation Downloads。
2009年7月23日
Delphi 7以降で追加された機能について
第13回エンバカデロ・デベロッパーキャンプの「Delphiコーディングスタイル バトルトーク」(A5)セッションのトークの中で、スピーカの方々を含め会場内は意外にDelphi 7以降に追加された機能をあまり知らないような雰囲気でしたが、そのあたりをわかりやすくまとめてあるアーティクルを4つ。
34361: Delphi 7以降の IDEの新機能
34409: Delphi 7以降の言語およびコンパイラの新機能
34342: Delphi 7以降のVCLの新機能
37433: あなたの環境でもきっと役に立つDelphi 7以降の新機能トップ10 - by Pawel Glowacki
34361: Delphi 7以降の IDEの新機能
34409: Delphi 7以降の言語およびコンパイラの新機能
34342: Delphi 7以降のVCLの新機能
37433: あなたの環境でもきっと役に立つDelphi 7以降の新機能トップ10 - by Pawel Glowacki
Delphiアルゴリズムトレーニング
同じくはやしさんが@ITのCoding Edgeフォーラムで連載していた"Delphiアルゴリズムトレーニング"も完結しています。
(1) TListの実装と性能
(2) 単純なキューと循環キュー
(3) AVL木で木構造を学ぼう
(4) もっとAVL木で木構造を学ぼう
(5) RDBMSで使われるB木を学ぼう
(6) B木から要素を削除する方法を学ぼう
(1) TListの実装と性能
(2) 単純なキューと循環キュー
(3) AVL木で木構造を学ぼう
(4) もっとAVL木で木構造を学ぼう
(5) RDBMSで使われるB木を学ぼう
(6) B木から要素を削除する方法を学ぼう
Yet another OSS DB:Firebird
Firebird日本ユーザ会のはやしさんが@ITのDatabase Expertフォーラムで連載していた"Yet another OSS DB:Firebird"が完結しました。
(1) Firebirdのアーキテクチャと特性、歴史
(2) データベースファイルの内部構造を探ってみた
(3) 仕組みを「見える化」してみた
(4) Firebirdの標準関数を極める
(5) 内部関数が足りない? それならUDFだ!
(6) ユーザー定義関数で日付時刻やBLOBを扱う
InterBase/FirebirdのユーザやDelphi/C++Builderでデータベースを扱うプログラマはひととおり読んでおくといいと思います。
(1) Firebirdのアーキテクチャと特性、歴史
(2) データベースファイルの内部構造を探ってみた
(3) 仕組みを「見える化」してみた
(4) Firebirdの標準関数を極める
(5) 内部関数が足りない? それならUDFだ!
(6) ユーザー定義関数で日付時刻やBLOBを扱う
InterBase/FirebirdのユーザやDelphi/C++Builderでデータベースを扱うプログラマはひととおり読んでおくといいと思います。
C++Builder 2009 ファーストガイド
C++Builder 2009 ファーストガイドが10回に分割されて公開されるようです。
第一回 「C++Builder 2009のインストールと使用許諾」
第二回 「C++Builder2009の起動と終了」
第三回「総合開発環境(IDE)の説明」
第四回「プログラミング手順(前編)」
第五回「プログラミング手順(後編)」
第六回「C++基礎知識(前編)」
第七回「C++基礎知識(後編)」
第八回 「コンポーネント」
第九回「コンポーネントの作成」
第十回「データベースアプリケーションの作成」
第一回で気になった点を2つばかり。
2009/07/31追記: 第二回のリンクを追加しました。
2009/08/12追記: 第三回のリンクを追加しました。
2009/08/21追記: 第四回のリンクを追加しました。
2009/09/02追記: 第五回のリンクを追加しました。
2009/09/11追記: 第六回のリンクを追加しました。
2009/09/22追記: 第七回のリンクを追加しました。
2009/10/02追記: 第八回のリンクを追加しました。
2009/10/11追記: 第九回のリンクを追加しました。
2009/10/22追記: 第十回のリンクを追加しました。やっと完結です。
第一回 「C++Builder 2009のインストールと使用許諾」
第二回 「C++Builder2009の起動と終了」
第三回「総合開発環境(IDE)の説明」
第四回「プログラミング手順(前編)」
第五回「プログラミング手順(後編)」
第六回「C++基礎知識(前編)」
第七回「C++基礎知識(後編)」
第八回 「コンポーネント」
第九回「コンポーネントの作成」
第十回「データベースアプリケーションの作成」
第一回で気になった点を2つばかり。
- "1.3 インストールに必要なソフトウェア"にあるとおり、Dephi 2009/C++Builder 2009では必要に応じてMicrosoft .NET Framework 2.0、Microsoft JSharp Runtime 2.0、Microsoft .NET 2.0 Japanese Language Pack、Microsoft Data Access Components(MDAC) 2.8、Microsoft Core XML Service(MSXML) 6.0、Microsoft Document Explorer 2008、Microsoft Document Explorer 2008 Language Packがインストールされますが、少なくとも.NET Framework 2.0、MDAC 2.8、MSXML 6.0についてはセキュリティ更新プログラムが存在するはずです。これらのソフトウェアが新規にインストールされたときにはWindowsUpdateやMBSAでセキュリティ更新プログラムの適用の必要性を確認するよう、注意を促しておくべきではないでしょうか。
- アップデートの確認や適用方法は第二回以降に出てくるのでしょうか…?
2009/07/31追記: 第二回のリンクを追加しました。
2009/08/12追記: 第三回のリンクを追加しました。
2009/08/21追記: 第四回のリンクを追加しました。
2009/09/02追記: 第五回のリンクを追加しました。
2009/09/11追記: 第六回のリンクを追加しました。
2009/09/22追記: 第七回のリンクを追加しました。
2009/10/02追記: 第八回のリンクを追加しました。
2009/10/11追記: 第九回のリンクを追加しました。
2009/10/22追記: 第十回のリンクを追加しました。やっと完結です。
2009年7月16日
第14回エンバカデロ・デベロッパーキャンプ
先日の第13回の懇親会のときの藤井さんの予告のとおり、次回のデベロッパーキャンプは2009年09月02日に大阪で開催です(出張でも重なれば行けるかもしれませんが…)。今回はG2セッションのWeaver (Delphi/C++Builder/RAD Stdio 2010)のプレビュー(by高橋さん)が注目です。
2009年7月15日
1st anniversary
気が付いたら1年経っていました(1週間も気付かなかったのかい)。2008/07/08から2009/07/07までの1年間で168エントリ、平均するとだいたい2日で1エントリといったところですが、最近ちょっとペースが悪いような。
totonica on EDN
totonicaさんによるEDNのTechnical Articleが順次公開中です。
39691: RawByteStringの使い方
39692: 文字列とエレメント
39696: ライブテンプレートの作り方
39697: 暗黙の文字列変換
39698: Quality Centralでのバグレポートのコツ
39699: DCC警告W1050の回避方法
39701: 無名メソッドとスレッド
39704: Delphi 2009におけるグラフィック機能の強化点
39706: 文字列型とオーバーロード
2009/07/21追記: 39691/39692/39697のアーティクルへのリンクを追加しました。
2009/07/22追記: 39701のアーティクルへのリンクを追加しました。
2009/07/24追記: 39704/39706のアーティクルへのリンクを追加しました。
2009/07/28追記: totonicaさんによれば、これで今回は打ち止めだそうです。おつかれさまでした。
39691: RawByteStringの使い方
39692: 文字列とエレメント
39696: ライブテンプレートの作り方
39697: 暗黙の文字列変換
39698: Quality Centralでのバグレポートのコツ
39699: DCC警告W1050の回避方法
39701: 無名メソッドとスレッド
39704: Delphi 2009におけるグラフィック機能の強化点
39706: 文字列型とオーバーロード
2009/07/21追記: 39691/39692/39697のアーティクルへのリンクを追加しました。
2009/07/22追記: 39701のアーティクルへのリンクを追加しました。
2009/07/24追記: 39704/39706のアーティクルへのリンクを追加しました。
2009/07/28追記: totonicaさんによれば、これで今回は打ち止めだそうです。おつかれさまでした。
2009年7月12日
Blogger Syntax Highlighter 1.5.2
Heisencoder: Adding Syntax Highlighting to Bloggerを参考にSyntax Highlighterを組み込みなおしてみました。
2009年7月11日
Delphi 2009/C++Builder 2009 Help Update 3
Delphi 2009/C++Builder 2009のHelp Update 3がリリースされています。英語版についてはHelp Update 2の不具合修正、ドイツ語、フランス語、日本語については英語版Help Update 2の翻訳となっています。
Readme: Help Update 3 for Delphi and C++Builder 2009
元ねたはNick HodgesさんのRandom Thoughts on the Passing Scene #115。
Readme: Help Update 3 for Delphi and C++Builder 2009
元ねたはNick HodgesさんのRandom Thoughts on the Passing Scene #115。
2009年7月9日
ファイルをごみ箱経由で削除
ファイルをごみ箱に送る(ごみ箱経由で削除する)にはSHFileOperationでSHFILEOPSTRUCTのwFuncにFO_DELETEを指定します。またファイル名はNUL文字で区切って最後にNUL文字を2つ重ねる("double-null terminated string")必要があります。
uses
Windows, SysUtils, Classes, ShellAPI;
function SHDeleteFiles(const Filename: String; WindowHandle: HWND;
AllowUndo: Boolean; FilesOnly: Boolean;
NoErrorUI: Boolean; Silent: Boolean): Boolean; overload;
function SHDeleteFiles(Filenames: TStrings; WindowHandle: HWND;
AllowUndo: Boolean; FilesOnly: Boolean;
NoErrorUI: Boolean; Silent: Boolean): Boolean; overload;
function InternalDeleteFiles(const Filenames: String;
WindowHandle: HWND;
AllowUndo: Boolean;
FilesOnly: Boolean;
NoErrorUI: Boolean;
Silent: Boolean): Boolean; forward;
function SHDeleteFiles(const Filename: String; WindowHandle: HWND;
AllowUndo: Boolean; FilesOnly: Boolean;
NoErrorUI: Boolean; Silent: Boolean): Boolean;
var
FilenameArray: String;
begin
FilenameArray := ExpandFileName(Filename) + #0;
Result := InternalDeleteFiles(FilenameArray,WindowHandle,
AllowUndo,FilesOnly,NoErrorUI,Silent);
end;
function SHDeleteFiles(Filenames: TStrings; WindowHandle: HWND;
AllowUndo: Boolean; FilesOnly: Boolean;
NoErrorUI: Boolean; Silent: Boolean): Boolean;
var
Index: Integer;
FilenameArray: String;
begin
FilenameArray := '';
for Index := 0 to Filenames.Count - 1 do
begin
FilenameArray := FilenameArray + ExpandFileName(Filenames.Strings[Index]) + #0;
end;
FilenameArray := FilenameArray + #0;
Result := InternalDeleteFiles(FilenameArray,WindowHandle,
AllowUndo,FilesOnly,NoErrorUI,Silent);
end;
function InternalDeleteFiles(const Filenames: String;
WindowHandle: HWND;
AllowUndo: Boolean;
FilesOnly: Boolean;
NoErrorUI: Boolean;
Silent: Boolean): Boolean;
var
SHOP: TSHFileOpStruct;
begin
with SHOP do
begin
Wnd := WindowHandle;
wFunc := FO_DELETE;
pFrom := PChar(Filenames);
pTo := nil;
fFlags := FOF_NOCONFIRMATION;
if AllowUndo = True then
begin
fFlags := fFlags or FOF_ALLOWUNDO;
end;
if FilesOnly = True then
begin
fFlags := fFlags or FOF_FILESONLY;
end;
if NoErrorUI = True then
begin
fFlags := fFlags or FOF_NOERRORUI;
end;
if Silent = True then
begin
fFlags := fFlags or FOF_SILENT;
end;
fAnyOperationsAborted := False;
hNameMappings := nil;
lpszProgressTitle := nil;
end;
Result := (SHFileOperation(SHOP) = 0) and (SHOP.fAnyOperationsAborted = False);
end;
元ねたはDelete files with the ability to UNDO他多数。
2009年7月2日
第13回エンバカデロ・デベロッパーキャンプ終了
スピーカの皆さん、関係者の皆さん、懇親会に参加したみなさん、おつかれさまでした。
今日は山本さんに神が降臨した瞬間を見られてよかったです(それが感想かい)。あとペンケースが当たりました。
2009/07/13追記: セッション資料がダウンロードできるようになっています。
今日は山本さんに神が降臨した瞬間を見られてよかったです(それが感想かい)。あとペンケースが当たりました。
2009/07/13追記: セッション資料がダウンロードできるようになっています。
2009年6月29日
JVCL 3.37リリース
JVCL(JEDI Visual Component Library)がアップデートされてVersion 3.37(JCL Version 1.105)になっています。
SourceForge.net: JEDI VCL for Delphi: Files
元ねたはNick HodgesさんのRandom Thoughts on the Passing Scene #114。
SourceForge.net: JEDI VCL for Delphi: Files
元ねたはNick HodgesさんのRandom Thoughts on the Passing Scene #114。
2009年6月19日
PowerPDF for Delphi 2009 日本語版
PDFを生成するTakeshi KannoさんのPowerPdf 0.9(開発停止/LGPL)をDelphi 2009で使用できるようにMamさんが改造したコンポーネント。
PowerPDF for Delphi 2009 Japanese
MAM'S WEBSITE 無料フリーソフトダウンロード(PCツール)
PowerPDF for Delphi 2009 Japanese
MAM'S WEBSITE 無料フリーソフトダウンロード(PCツール)
数式計算コンポーネント
数式を与えて値を計算するという、簡単なようにみえて実際には結構面倒なことをやってくれるというコンポーネント。作者のYura Pisarevさんはロシアの方でしょうか。
High-speed mathematics parser
TMathParser
ライセンス条件はどうなっているのでしょう…?
High-speed mathematics parser
TMathParser
ライセンス条件はどうなっているのでしょう…?
2009年6月16日
ローカライズリソースDLLの選択
国際化対応のためのメカニズムとしてDelphi/C++Builder(Ver3以降)にはローカライズリソースDLL(localized resource DLL)があります。これは拡張子".EXE"、".DLL"、"BPL"のファイルについて、実行時にこれらのファイルからのリソース(フォームデータ、リソース文字列、その他の埋め込みリソース)のロードをローカライズリソースDLLからのものに置き換えてしまう、というものです。
この動作はSystem.pasのLoadResourceModule関数で処理されますが、ここではまず"HKCU\Software\CodeGear\Locales"(Delphi 2009 or later)、"HKLM\Software\CodeGear\Locales"(Delphi 2009 or later)、"HKCU\Software\Borland\Locales"(Delphi 4 or later)、"HKLM\Software\Borland\Locales"(Delphi 6-2007)、"HKCU\Software\Borland\Delphi\Locales"(Delphi 3 or later)の順にレジストリキーの存在を確認し、いずれかが存在したら次に実行ファイルのフルパス名の登録があるかどうかを見て、登録されていたら代替ロケール識別子として取得します。次に実行プログラムのロケール識別子を実行ロケール識別子として取得します。その上で実行ファイルのフルパス名の拡張子を代替ロケール識別子(登録されていれば)、実行ロケール識別子、実行ロケール識別子の先頭2文字だけ、の順で置き換えてWin32APIのLoadLibraryExを呼び出し、成功したらそのモジュールハンドルを以後のリソースの取得に使用します。いずれも失敗した場合はもともとの実行ファイルのモジュールハンドルからリソースを取得することになります。
ここでロケール識別子はGetLocaleInfoのLCTYPEにLOCALE_SABBREVLANGNAMEを指定して取得される3文字の英字で、最初の2文字が言語簡略名(ISO 639)を、3文字目がサブ言語タイプ(主に地域)を示します。詳細なリストはMSDNのNational Language Support (NLS) API Referenceにあります。
ということは、実行ロケールがJPN(ロケールID=0x0411/日本語版Windows)かつ実行ファイルのロケールがJPN以外(例えばENU=0x0409)の状況でローカライズリソースDLLとして.JPNファイルが存在する場合、実行ファイルのリソースを使用する方法がない(.JPNファイルを削除するしかない)わけです。どーりでレジストリに何を指定しても駄目なわけだ…。
元ねたは"Source\RTL\SYS\System.pas"。
2009/09/06追記: 新井さんによるとDelphi 2010ではこの選択メカニズムに一部変更があったとのことです。
Embarcadero Discussion Forums: Delphi2010 国際化対応について ...
Delphi 2010を入手したら検証してみたいと思います。
2011/05/04追記: forums.codegear.comのリンクをforums.embarcadero.comのものに差し替え。
この動作はSystem.pasのLoadResourceModule関数で処理されますが、ここではまず"HKCU\Software\CodeGear\Locales"(Delphi 2009 or later)、"HKLM\Software\CodeGear\Locales"(Delphi 2009 or later)、"HKCU\Software\Borland\Locales"(Delphi 4 or later)、"HKLM\Software\Borland\Locales"(Delphi 6-2007)、"HKCU\Software\Borland\Delphi\Locales"(Delphi 3 or later)の順にレジストリキーの存在を確認し、いずれかが存在したら次に実行ファイルのフルパス名の登録があるかどうかを見て、登録されていたら代替ロケール識別子として取得します。次に実行プログラムのロケール識別子を実行ロケール識別子として取得します。その上で実行ファイルのフルパス名の拡張子を代替ロケール識別子(登録されていれば)、実行ロケール識別子、実行ロケール識別子の先頭2文字だけ、の順で置き換えてWin32APIのLoadLibraryExを呼び出し、成功したらそのモジュールハンドルを以後のリソースの取得に使用します。いずれも失敗した場合はもともとの実行ファイルのモジュールハンドルからリソースを取得することになります。
ここでロケール識別子はGetLocaleInfoのLCTYPEにLOCALE_SABBREVLANGNAMEを指定して取得される3文字の英字で、最初の2文字が言語簡略名(ISO 639)を、3文字目がサブ言語タイプ(主に地域)を示します。詳細なリストはMSDNのNational Language Support (NLS) API Referenceにあります。
ということは、実行ロケールがJPN(ロケールID=0x0411/日本語版Windows)かつ実行ファイルのロケールがJPN以外(例えばENU=0x0409)の状況でローカライズリソースDLLとして.JPNファイルが存在する場合、実行ファイルのリソースを使用する方法がない(.JPNファイルを削除するしかない)わけです。どーりでレジストリに何を指定しても駄目なわけだ…。
元ねたは"Source\RTL\SYS\System.pas"。
2009/09/06追記: 新井さんによるとDelphi 2010ではこの選択メカニズムに一部変更があったとのことです。
Embarcadero Discussion Forums: Delphi2010 国際化対応について ...
Delphi 2010を入手したら検証してみたいと思います。
2011/05/04追記: forums.codegear.comのリンクをforums.embarcadero.comのものに差し替え。
2009年6月10日
2009年6月4日
Borlandの買収に競合出現
2009/05/06にBorlandがMicro Focusに買収されるというニュースが流れましたが、ここにきて1株1.20USDで買収したいという競合相手(BorlandによればNDAで相手を明かすことはできないが、"E社"(Company E)と呼んでいる)が出現した模様です。
Tech Trader Daily - Barron’s Online : Borland Shrs Spikes; Second Bidder Offers $1.20/Shr
Borlandはどうもこっちになびいているようで、Micro Focusによる買収は不透明な情勢のようです。
元ねたは公式フォーラムのEmbarcadero Discussion Forums: Is "Company E" Embaracadero...? ...あたり。
Tech Trader Daily - Barron’s Online : Borland Shrs Spikes; Second Bidder Offers $1.20/Shr
Borlandはどうもこっちになびいているようで、Micro Focusによる買収は不透明な情勢のようです。
元ねたは公式フォーラムのEmbarcadero Discussion Forums: Is "Company E" Embaracadero...? ...あたり。
2009年6月3日
DelphiのASLR/DEP(NX)サポート
ASLR(Address Space Layout Randomization)とは、実行ファイルからリンクされるDLLをユーザメモリ空間上に配置するときにその位置をランダムにすることにより特定のアドレスに既知のDLLがロードされていることを前提とした攻撃を防ぐもので、Windows Vistaで導入されました。
一方DEP/NX(Data Execution Prevention/Non-eXecutable)とはNXであるとマークしたメモリ空間上の領域でコードを実行することを禁止することによりバッファオーバランなどを利用した攻撃を防ぐもので、Windows XP SP2で導入されました。
Delphiでは2007以降でASLRおよびDEP/NXをサポートするようになりました。またDelphiのデバッガも2007以降でDEP/NXに対応した(DEP/NXが有効なWindows上でもエラーにならないようにした)とのことです。
ASLRを有効にするにはソースコード上で
DEP/NXを有効にするにはソースコード上で
ASLRとDEP/NXを同時に有効したい場合はソースコード上で
コンパイラ指令$SETPEFLAGS/$SETPEOPTFLAGSはDelphiのヘルプのPE ヘッダーフラグ(Delphi)(英語ヘルプ)にあるように、PEファイルヘッダのCharacteristicsフィールドとPEファイルオプションヘッダのDLLCharacteristicsフィールド上のフラグをセットする(指定は累積されます)ためのもので、これらのコンパイラ指令はプロジェクトソース(*.dpr/*.dpk)に記述するのが望ましいとのことです。PEファイルヘッダのCharacteristicsフィールドとPEファイルオプションヘッダのDLLCharacteristicsフィールドの詳細はIMAGE_FILE_HEADER Structure (Windows)(PEファイルヘッダ)およびIMAGE_OPTIONAL_HEADER Structure (Windows)(PEファイルオプションヘッダ)を参照してください。
元ねたはMichael Howard's Web Log : CodeGear’s new Delphi 2007 supports ASLR and NX、Mike Devery » Delphi 2007 supports ASLR and NX、Chris’ CodeGear Debugger Blog » The Delphi 2007 Debugger and DEP/NX (Internet Archive)あたり。
2011/05/05追記: Chris Hesikさんの"Chris’ CodeGear Debugger Blog"のInternet Archiveのリンクを追加。
一方DEP/NX(Data Execution Prevention/Non-eXecutable)とはNXであるとマークしたメモリ空間上の領域でコードを実行することを禁止することによりバッファオーバランなどを利用した攻撃を防ぐもので、Windows XP SP2で導入されました。
Delphiでは2007以降でASLRおよびDEP/NXをサポートするようになりました。またDelphiのデバッガも2007以降でDEP/NXに対応した(DEP/NXが有効なWindows上でもエラーにならないようにした)とのことです。
ASLRを有効にするにはソースコード上で
{$DYNAMICBASE ON}
または
{$SETPEOPTFLAGS $40}
とします(コマンドライン版では"–dynamicbase"スイッチを使用します)。DEP/NXを有効にするにはソースコード上で
{$SETPEOPTFLAGS $100}
とします。ASLRとDEP/NXを同時に有効したい場合はソースコード上で
{$SETPEOPTFLAGS $140}
とすれば1回の指定で済みます。コンパイラ指令$SETPEFLAGS/$SETPEOPTFLAGSはDelphiのヘルプのPE ヘッダーフラグ(Delphi)(英語ヘルプ)にあるように、PEファイルヘッダのCharacteristicsフィールドとPEファイルオプションヘッダのDLLCharacteristicsフィールド上のフラグをセットする(指定は累積されます)ためのもので、これらのコンパイラ指令はプロジェクトソース(*.dpr/*.dpk)に記述するのが望ましいとのことです。PEファイルヘッダのCharacteristicsフィールドとPEファイルオプションヘッダのDLLCharacteristicsフィールドの詳細はIMAGE_FILE_HEADER Structure (Windows)(PEファイルヘッダ)およびIMAGE_OPTIONAL_HEADER Structure (Windows)(PEファイルオプションヘッダ)を参照してください。
元ねたはMichael Howard's Web Log : CodeGear’s new Delphi 2007 supports ASLR and NX、Mike Devery » Delphi 2007 supports ASLR and NX、Chris’ CodeGear Debugger Blog » The Delphi 2007 Debugger and DEP/NX (Internet Archive)あたり。
2011/05/05追記: Chris Hesikさんの"Chris’ CodeGear Debugger Blog"のInternet Archiveのリンクを追加。
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
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 ...
要は公式な方針として(PST/PDTで)月曜日、火曜日、水曜日にのみリリースを行う、ということのようです(JSTだと概ね火曜日~木曜日になりますね)。
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月28日
Delphi 2009/C++Builder 2009 Update 3, Update 4 and Boost Update
Delphi 2009/C++Builder 2009のUpdate 3/4がリリースされています。Update 3はIDE/VCL関係の、Update 4はデータベース関係のアップデートになります。またC++Builder用のBoostライブラリもアップデートされます。
なおリリースが遅れた理由は秘密だそうです。
リリース ノート: Delphi 2009 および C++Builder 2009 Update 3、Update 4(データベース パック)、C++Builder 2009 Boost Update
List of Bug Fixes in Update 3 for Delphi 2009
List of Bug Fixes in Update 3 for C++Builder 2009
List of Bug Fixes in Update 4 (Database Pack) for Delphi and C++Builder 2009
なおリリースが遅れた理由は秘密だそうです。
リリース ノート: Delphi 2009 および C++Builder 2009 Update 3、Update 4(データベース パック)、C++Builder 2009 Boost Update
List of Bug Fixes in Update 3 for Delphi 2009
List of Bug Fixes in Update 3 for C++Builder 2009
List of Bug Fixes in Update 4 (Database Pack) for Delphi and C++Builder 2009
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 をインストールする
Unicode 版 Delphi (2009 以降) に最新版の Indy10 をインストールする [Delphi Programming]
ANSI 版 Delphi (5~2007) に最新版の Indy10 をインストールする [Delphi Programming]
ところでindy10.zipは10.2.3、IndyTiburon.zipは10.5.5ですが、名前に反してIndyTiburon.zipはDelphi 2007およびそれ以前にも導入可能のような気がします。あとでDelphi 2007で更新を試してみます。
Unicode 版 Delphi (2009 以降) に最新版の Indy10 をインストールする [Delphi Programming]
ANSI 版 Delphi (5~2007) に最新版の Indy10 をインストールする [Delphi Programming]
ところで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の日記
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章 同期"でクリティカルセクションに触れています。以下引っ掛かる点を引用。
追記: 高橋さん、フォローありがとうございます。
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からのビデオインタビュー(英語)
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)を見ているだけでも雰囲気はつかめます。
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やパラレルエクステンションのサポートなどがデモされたようです。
(更新中)
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
でさらっと目次を見ていたのですが、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オプションで指定した文字列はレジストリ"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以降については以下のリンクに詳細な記述があります。
2016/04/20追記: Delphi/C++Builder/RAD Studio XE以降のオンラインヘルプのコマンドラインオプションのページへのリンクを追加。
2017/03/23追記: Delphi/C++Builder 10.2 Tokyoの情報を追加。
- -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/C++Builder/RAD Studio XE
- Delphi/C++Builder/RAD Studio XE2
- Delphi/C++Builder/RAD Studio XE3
- Delphi/C++Builder/RAD Studio XE4
- Delphi/C++Builder/RAD Studio XE5
- Delphi/C++Builder/RAD Studio XE6
- Delphi/C++Builder/RAD Studio XE7
- Delphi/C++Builder/RAD Studio XE8
- Delphi/C++Builder/RAD Studio 10 Seattle
- Delphi/C++Builder/RAD Studio 10.1 Berlin
- Delphi/C++Builder/RAD Studio 10.2 Tokyo
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"
主要な目標はユーザエクスペリエンスの向上、データベース接続の拡張、ドキュメントの充実。
元ねたは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コンポーネントでジェスチャーを追加しています。
- 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のロードマップについて発表を行ったようです。
詳しくは以降のエントリで。
元ねたはRob’s Technology Corner: DelphiLive - Where is Delphi Going?など。
- Project Weaver
- 次期版Delphi/C++Builder
- Project X
- クロス開発環境
- Project Chromium
- 周辺ツールの充実
- Project Commodore
- 64bit対応、マルチプロセッサ、マルチスレッドサポート
詳しくは以降のエントリで。
元ねたはRob’s Technology Corner: DelphiLive - Where is Delphi Going?など。
2009年5月13日
2009年5月7日
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/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のビジュアル要素を扱いたいならRemObjectsのHydraのほうが適している、とのこと。
元ねたはDrs.Bob's Delphi Notes (weblog)。
Atozed Software - Project CrossTalk
Q&AによればProject CrossTalkは主に(たとえばIntraWebで使用するDelphiコードの)バックエンドで.NETのコードやライブラリを呼び出せるようにするのが目的で、.NETのビジュアル要素を扱いたいならRemObjectsのHydraのほうが適している、とのこと。
元ねたはDrs.Bob's Delphi Notes (weblog)。
2009年4月28日
[書籍]Windowsデバッグの極意
Advanced Windows Debuggingの日本語訳である"Windowsデバッグの極意"が発売になっていたので購入。
Windowsデバッグの極意/Mario Hewardt、Daniel Pravat著/長尾高弘訳/アスキー・メディアワークス/ISBN 978-4-04-867608-3/8,925円
Windowsプログラミングの極意(The Old New Thing)もそうだけど、最近のAMW(ASCII)のタイトルのネーミングセンスは微妙ですね(あとお値段も)。いい本を出してるんだけどな。
Windowsデバッグの極意/Mario Hewardt、Daniel Pravat著/長尾高弘訳/アスキー・メディアワークス/ISBN 978-4-04-867608-3/8,925円
Windowsプログラミングの極意(The Old New Thing)もそうだけど、最近のAMW(ASCII)のタイトルのネーミングセンスは微妙ですね(あとお値段も)。いい本を出してるんだけどな。
Getting Started with Delphi and C++Builder 2009
Alex Ciobanuさん、Lucian Benteaさん、Denisa Ilascuさん、Andrei Susneaさんによる"Getting Started with Delphi and C++Builder 2009"がdocs.embarcadero.comからダウンロードできるようになっています。また印刷したものをlulu.comから19.90USDで取り寄せることもできます(送料を考えたらあまり現実的ではありませんが)。
元ねたはDee Elling » Getting Started with Delphi and C++Builder 2009あたり。
元ねたはDee Elling » Getting Started with Delphi and C++Builder 2009あたり。
2009年4月20日
Michael RozlogさんがDelphiのプロダクトマネージャに
Delphi.orgのこの記事によれば、RAD studioチームのR&DマネージャとなったNick Hodgesさんの後任のDelphiのプロダクトマネージャはMichael Rozlogさんとのことです。
ただMichaelさんは2009/02にJBuilderと3rd Railのプロダクトマネージャになったばかりでした。ここのところJBuilderが放置気味であることを考えると、なにやら微妙です。
またTeamBのCraig Stuntzさんによれば、FTerにはおなじみRAD studioのQAマネージャだったChris PattinsonさんがEmbarcadero全体のDirector of Quality Assurance(QAディレクタ)になったということで、人事異動の季節なのでしょうか(EmbarcaderoとCodeGearの融合、という意味で)。
2009/04/21追記: Nick Hodgesさんのところにもでていますね。
Nick Hodges » Blog Archive » Random Thoughts on the Passing Scene #107
2009/04/22再追記: Chris Pattinsonさんのところにもでています。Craig Stuntzさんのツッコミ("Time to update the subtitle of your blog, Chris!")に応えてblogのサブタイトルが"Director of Quality Assurance, Embarcadero"になっています。
Chris Pattinson » Blog Archive » New Role - Embarcadero Director of Quality Assurance
ただMichaelさんは2009/02にJBuilderと3rd Railのプロダクトマネージャになったばかりでした。ここのところJBuilderが放置気味であることを考えると、なにやら微妙です。
またTeamBのCraig Stuntzさんによれば、FTerにはおなじみRAD studioのQAマネージャだったChris PattinsonさんがEmbarcadero全体のDirector of Quality Assurance(QAディレクタ)になったということで、人事異動の季節なのでしょうか(EmbarcaderoとCodeGearの融合、という意味で)。
2009/04/21追記: Nick Hodgesさんのところにもでていますね。
Nick Hodges » Blog Archive » Random Thoughts on the Passing Scene #107
2009/04/22再追記: Chris Pattinsonさんのところにもでています。Craig Stuntzさんのツッコミ("Time to update the subtitle of your blog, Chris!")に応えてblogのサブタイトルが"Director of Quality Assurance, Embarcadero"になっています。
Chris Pattinson » Blog Archive » New Role - Embarcadero Director of Quality Assurance
登録:
投稿 (Atom)