今日はMicrosoftのセキュリティアップデートの日です。
MS11-087
MS11-088
MS11-089
MS11-090
MS11-091
MS11-092
MS11-093
MS11-094
MS11-095
MS11-096
MS11-097
MS11-098
MS11-099
2011年12月14日
2011年12月9日
[書籍]Windowsコマンドプロンプトポケットリファレンス
ブックファースト 渋谷文化村通り店で
Windows コマンドプロンプト ポケットリファレンス (amazon)/山近慶一著/技術評論社/ISBN 978-4-7741-4954-7/2,919円
を購入。
Windows コマンドプロンプト ポケットリファレンス (amazon)/山近慶一著/技術評論社/ISBN 978-4-7741-4954-7/2,919円
を購入。
2011年12月7日
Asphyre Sphinx 2
Delphi/C++Builder上で2D/3Dグラフィックスを扱うライブラリとして以前取り上げたAsphyre Sphinxですが、メジャーバージョンアップした2.0.0がリリースされています。
Asphyre Sphinx 2
Delphi XE2 Update 1に対応しており、Windows x86/x64およびMacOS X/iOS上のDirectX 7/DirectX 9/DirectX 10/DirectX 10.1/DirectX 11/OpenGLをサポートしています。ライセンスは以前と同じくMPL 1.1です。
またVer1も最新版は1.1.0となっており、Delphi 2006/Turbo Delphi/Delphi 2007に加えてDelphi XEにも対応しています。
Asphyre Sphinx
元ねたは2ちゃんねるのくだすれDelphi(超初心者用)その53の902。
Asphyre Sphinx 2
Delphi XE2 Update 1に対応しており、Windows x86/x64およびMacOS X/iOS上のDirectX 7/DirectX 9/DirectX 10/DirectX 10.1/DirectX 11/OpenGLをサポートしています。ライセンスは以前と同じくMPL 1.1です。
またVer1も最新版は1.1.0となっており、Delphi 2006/Turbo Delphi/Delphi 2007に加えてDelphi XEにも対応しています。
Asphyre Sphinx
元ねたは2ちゃんねるのくだすれDelphi(超初心者用)その53の902。
2011年12月6日
2011/12開催のウェブセミナー
- 2011/12/14 17:00-18:00(JST) 12/14 - デベロッパーTV - Delphi / C++Builder XE2への移行を考える
- 2011/12/20 17:00-2011/12/21 16:55(JST) オンラインイベント: 24-Hours of Delphi - Delphiを最大限に活用するための技術情報やヒント、テクニック満載のグローバルイベントを開催!
2011/12/26追記: デベロッパーTVのリプレイのリンクを追加しました。
2011/12/27追記: 24-Hours of Delphiの日本語放送関係のリンクを追加しました。
2011年12月1日
dbExpressのODBCドライバでPostgreSQLに接続
オープンソースのRDBとして日本では人気のPostgreSQL (日本PostgreSQLユーザ会)ですが、世界的に見るとあまり重要視されておらず、dbExpressでも以前からMySQLはサポートされています(Ent/Ult/Arc SKUのみ)がPostgreSQLは予定すらない、という状況でした。しかしDelphi XE2では(これもEnt/Ult/Arc SKUのみですが)dbExpressのODBCドライバが新しく追加されました。このdbExpressのODBCドライバを経由してPostgreSQLに接続する方法についてラテンアメリカ・カリブ地域担当プロダクトラインマネージャ・リードエバンジェリストのAndreano Lanusseさんが解説しています。興味深い。とりあえずメモ。
Connecting to PostgreSQL through dbExpress ODBC driver | Andreano Lanusse Blog | Technology and Software Development | C++Builder
ODBCデータソースアドミニストレータ(odbcad32.exe)でPostgreSQLのODBCドライバを指定したデータソースを作成しておいて、dbExpressのSQLConnectionのDriverNameに'ODBC'を、ParamsのDatabaseにそのデータソース名(DSN)を指定することで、Delphi/C++Builder-dbExpress-dbExpress ODBCドライバ-ODBC-PostgreSQL ODBCドライバ-PostgreSQLサーバという形で接続できる、ということのようです。なおx64環境ではODBCデータソースアドミニストレータ(odbcad32.exe)もx86、x64の両方が存在するので、クライアントのターゲットプラットフォームによって使い分ける必要があります。
日本語だと第20回 エンバカデロ・デベロッパーキャンプの【B4】 Delphi/C++Builderテクニカルセッション 「dbExpressとマルチプラットフォーム開発」のプレゼンテーション資料あたりが参考になります。
2012/02/10追記: デベロッパーキャンプのプレゼンテーション資料のリンクを追記しました。高橋さん、情報ありがとうございます(遅くなりましたが)。
Connecting to PostgreSQL through dbExpress ODBC driver | Andreano Lanusse Blog | Technology and Software Development | C++Builder
ODBCデータソースアドミニストレータ(odbcad32.exe)でPostgreSQLのODBCドライバを指定したデータソースを作成しておいて、dbExpressのSQLConnectionのDriverNameに'ODBC'を、ParamsのDatabaseにそのデータソース名(DSN)を指定することで、Delphi/C++Builder-dbExpress-dbExpress ODBCドライバ-ODBC-PostgreSQL ODBCドライバ-PostgreSQLサーバという形で接続できる、ということのようです。なおx64環境ではODBCデータソースアドミニストレータ(odbcad32.exe)もx86、x64の両方が存在するので、クライアントのターゲットプラットフォームによって使い分ける必要があります。
日本語だと第20回 エンバカデロ・デベロッパーキャンプの【B4】 Delphi/C++Builderテクニカルセッション 「dbExpressとマルチプラットフォーム開発」のプレゼンテーション資料あたりが参考になります。
2012/02/10追記: デベロッパーキャンプのプレゼンテーション資料のリンクを追記しました。高橋さん、情報ありがとうございます(遅くなりましたが)。
2011年11月30日
[書籍]プログラミングC# 第6版
MARUZEN&ジュンク堂書店 渋谷店でProgramming C# 4.0の翻訳である
プログラミングC# 第6版 (amazon)/Ian Griffiths、Matthew Adams、Jesse Liberty著/鈴木幸敏、首藤一幸、株式会社情報技研訳/オライリージャパン/ISBN 978-4-87311-517-7/5,040円
を購入。
プログラミングC# 第6版 (amazon)/Ian Griffiths、Matthew Adams、Jesse Liberty著/鈴木幸敏、首藤一幸、株式会社情報技研訳/オライリージャパン/ISBN 978-4-87311-517-7/5,040円
を購入。
2011年11月29日
RadPHP XE2 Update 3
RadPHP XE2 Update 3がリリースされています。
28640 RadPHP XE2 Update 3
RadPHP XE2 Update 3 is available now
RadPHP XE2 Update 3 が公開されました
2011/11/30追記: Update 3を適用してもヘルプ→バージョン情報のインストール済みの更新にはUpdate 2と表示されるようです。
28640 RadPHP XE2 Update 3
RadPHP XE2 Update 3 is available now
RadPHP XE2 Update 3 が公開されました
2011/11/30追記: Update 3を適用してもヘルプ→バージョン情報のインストール済みの更新にはUpdate 2と表示されるようです。
RAD Studio/Delphi/C++Builder XE2 Help Update 2
RAD Studio/Delphi/C++Builder XE2のHelp Update 2がリリースされています。
28638 Help Update 2 for Delphi, C++Builder and RAD Studio XE2
Help Update 2 for Delphi XE2, C++Builder XE2 and RAD Studio XE2
リリース ノート: Delphi XE2 および C++Builder XE2 Help Update 2 - RAD Studio XE2
Delphi XE2/C++Builder XE2/RAD Studio XE2 Help Update 2 が公開されました
28638 Help Update 2 for Delphi, C++Builder and RAD Studio XE2
Help Update 2 for Delphi XE2, C++Builder XE2 and RAD Studio XE2
リリース ノート: Delphi XE2 および C++Builder XE2 Help Update 2 - RAD Studio XE2
Delphi XE2/C++Builder XE2/RAD Studio XE2 Help Update 2 が公開されました
2011年11月28日
JVCL 3.45リリース
JVCL(JEDI Visual Component Library)がアップデートされてVersion 3.45(JCL Version 2.3.1)になっています。
JEDI VCL for Delphi - Browse /JVCL 3/JVCL 3.45 at SourceForge.net
またAndreas HausladenさんがコマンドラインコンパイラDCC32/DCC64が付属していないDelphi/C++Builder XE2 Starter SKUのためのコンパイル済バイナリのインストーラをCodeCentralにアップロードしています(上記のリリースバージョンそのものではなく、JCLはsvn revision 3634、JVCLはsvn revision 13184から作成したものとのことです)。
28636 Jedi Code Library 2.4.0.4198r3634 BinaryInstaller for XE2
28637 Jedi Visual Component Library 3.45r13184 BinaryInstaller for XE2
元ねたはUpdated JCL and JVCL Binary Installers for XE2 | Andy’s Blog and Tools。
JEDI VCL for Delphi - Browse /JVCL 3/JVCL 3.45 at SourceForge.net
またAndreas HausladenさんがコマンドラインコンパイラDCC32/DCC64が付属していないDelphi/C++Builder XE2 Starter SKUのためのコンパイル済バイナリのインストーラをCodeCentralにアップロードしています(上記のリリースバージョンそのものではなく、JCLはsvn revision 3634、JVCLはsvn revision 13184から作成したものとのことです)。
28636 Jedi Code Library 2.4.0.4198r3634 BinaryInstaller for XE2
28637 Jedi Visual Component Library 3.45r13184 BinaryInstaller for XE2
元ねたはUpdated JCL and JVCL Binary Installers for XE2 | Andy’s Blog and Tools。
Category:
Delphi 2007,
Delphi 2009,
Delphi 2010,
Delphi XE,
Delphi XE2,
Libraries
at
17:51:00
0
Comments
2011年11月22日
DORM (Delphi ORM)
Delphi XEの新機能の新しい(拡張された)RTTIと属性の利用方法として考えられるもののひとつとしてORM(Object-relational mapping)があります。新しいRTTIでクラスの持つプロパティと型情報を参照してデータベースとのマッピングに利用し、属性で個別の細かい制御を行う、というアイデアはわりと一般的なものかもしれません。実験的な実装はいくつかあるようですが、一応実用に耐えるレベルのもの、となるといまのところDaniele TetiさんによるDORM (Delphi ORM)ぐらいでしょうか。
DORM, the Delphi ORM
Delphi XE/XE2で使用可能で、対応データベースはいまのところdbExpress経由のFirebird (2.1+)またはInterBase (2009+)です。ライセンスはApache License 2.0 (en)となっています。
先日のITDevCon 2011のDaniele Tetiさんのセッションのプレゼンテーション資料
DORM, the Delphi ORM
が参考になります。
元ねたはwhile true do; » Blog Archive » dorm, “The Delphi ORM”, officially published at ITDevCon。
DORM, the Delphi ORM
Delphi XE/XE2で使用可能で、対応データベースはいまのところdbExpress経由のFirebird (2.1+)またはInterBase (2009+)です。ライセンスはApache License 2.0 (en)となっています。
先日のITDevCon 2011のDaniele Tetiさんのセッションのプレゼンテーション資料
DORM, the Delphi ORM
が参考になります。
元ねたはwhile true do; » Blog Archive » dorm, “The Delphi ORM”, officially published at ITDevCon。
2011年11月15日
AppWave評価ガイドビデオ
YouTubeのEmbarcaderoTechJapanチャンネルにAppWave評価ガイドのビデオがアップロードされています。興味深い。とりあえずメモ。
AppWave評価ガイド #1 - AppWaveのインストール - YouTube
AppWave評価ガイド #2 - AppWaveブラウザを使う - YouTube
AppWave評価ガイド #3 - AppWaveを管理する - YouTube
AppWave評価ガイド #4 - AppWaveアプリを作成する - YouTube
AppWave評価ガイド #5 - 既存のDelphiアプリケーションをアプリ化する - YouTube
ただしAppWaveを使用するとDelphi 2007の登録情報が破損するという情報がありますので、注意が必要です。以下tweetを引用。
2011/11/18追記: Delphi 2007との相性の問題がQC101120として登録されています。
AppWave評価ガイド #1 - AppWaveのインストール - YouTube
AppWave評価ガイド #2 - AppWaveブラウザを使う - YouTube
AppWave評価ガイド #3 - AppWaveを管理する - YouTube
AppWave評価ガイド #4 - AppWaveアプリを作成する - YouTube
AppWave評価ガイド #5 - 既存のDelphiアプリケーションをアプリ化する - YouTube
ただしAppWaveを使用するとDelphi 2007の登録情報が破損するという情報がありますので、注意が必要です。以下tweetを引用。
http://twitter.com/#!/Tokcyu3/status/101190890642608128
AppWaveを使うとなにかのタイミングでDelphi2007の登録情報が飛んじゃうみたい。今のところ2回再登録した。ぐむむぅ…
http://twitter.com/#!/ht_deko/status/134647986130137089
先日 Delphi 2007 の再登録が必要になってしまった件は これが原因か。そういや確かに触ったよ AppWave。 RT @Tokcyu3 AppWaveを使うとなにかのタイミングでDelphi2007の登録情報が飛んじゃうみたい。今のところ2回再登録した。ぐむむぅ…
2011/11/18追記: Delphi 2007との相性の問題がQC101120として登録されています。
2011年11月11日
Generic collections library (delphi-coll)
Delphi 2009の新機能の一つにジェネリクスがあります。このジェネリクス機能を簡単に利用するためのジェネリクスクラスとして、Delphiには標準でGenerics.Collectionsユニットにが用意されています。しかしC++のSTL(Standard Template Library)のコンテナや.NET Frameworkのジェネリックコレクションに比べると必ずしも十分とはいえません。これを補うものとしてCiobanu AlexandruさんによるGeneric collections library (delphi-coll)というライブラリがあります。
delphi-coll - Generic collections library for Delphi 2010 and XE - Google Project Hosting
ライセンスは修正BSD (en)となっています。
delphi-collにはList、Queue、Stack、Set、Dictionary、Bag、MultiMap、BidiDictionary、BidiMapの各基本ジェネリクスクラスと、これらに対するObject、Linked、Sortedやその組み合わせなどにより修飾された多数のバリエーションがあります。詳細は
CollectionDetails - delphi-coll
を参照してください。またDelphi標準のジェネリクスクラスとの違いについては
DifferencesFromGenericsCollections - delphi-coll
に記述されています。なおdelphi-collをDelphi XE2で使用する場合は最新版(1.2)をSVNでチェックアウトする必要があるようです。またDelphi XE2 Update 2のコンパイラの変更により、一部のコードがエラーになる、という情報もありますので注意が必要です。
delphi-coll - Generic collections library for Delphi 2010 and XE - Google Project Hosting
ライセンスは修正BSD (en)となっています。
delphi-collにはList、Queue、Stack、Set、Dictionary、Bag、MultiMap、BidiDictionary、BidiMapの各基本ジェネリクスクラスと、これらに対するObject、Linked、Sortedやその組み合わせなどにより修飾された多数のバリエーションがあります。詳細は
CollectionDetails - delphi-coll
を参照してください。またDelphi標準のジェネリクスクラスとの違いについては
DifferencesFromGenericsCollections - delphi-coll
に記述されています。なおdelphi-collをDelphi XE2で使用する場合は最新版(1.2)をSVNでチェックアウトする必要があるようです。またDelphi XE2 Update 2のコンパイラの変更により、一部のコードがエラーになる、という情報もありますので注意が必要です。
2011年11月10日
クラスヘルパ
クラスヘルパはDelphi 2007で導入された新機能で、クラスを継承することなく拡張するためのものです(Delphi 2007 HandbookにはDelphi 2007でDelphi 2006とのバイナリレベルでの互換性を確保するために導入された、とあります)。当初はクラスにしか適用できませんでしたが、Delphi 2010以降ではレコード型に対しても(レコードヘルパとして)適用することができます。しかしヘルパで定義したメソッドではpublicメンバにしかアクセスできないため、ある種のシンタックスシュガーのように考えればよいと思っていました。DelphiデベロッパチームシニアソフトウェアデベロッパのMat DeLongさん Mat DeLongさんのこのアーティクルを読むまでは。
Mat DeLong : Gaining access to private fields of a class Gaining access to private fields of a class in Delphi | Mat DeLong
これによると、private/protectedメンバであっても"Self."で修飾することでアクセスできる、と書かれています。なんですと?ということでDelphi 2007以降の各バージョンで確認してみました。
またクラス ヘルパとレコード ヘルパ(Delphi)には
とあり、ひとつのクラスに複数のヘルパを適用することはできないのですが、ヘルパの構文として
2020/09/23追記: Mat DeLongさんの記事のリンクを更新しました。pmcgeeさん、情報ありがとうございます。
これによると、private/protectedメンバであっても"Self."で修飾することでアクセスできる、と書かれています。なんですと?ということでDelphi 2007以降の各バージョンで確認してみました。
- Delphi 2007: "Self."の有無に関わらずpublicのみアクセス可能
- Delphi 2009: "Self."とすることでprivateはアクセスできるがなぜかprotectedはアクセス不可
- Delphi 2010/XE/XE2: "Self."とすることでprivate/protectedもアクセス可能
またクラス ヘルパとレコード ヘルパ(Delphi)には
ただし、ソース コードの任意の場所で適用されるヘルパの数は、0 または 1 つだけです。
type
identifierName = class|record helper [(ancestor list)] for TypeIdentifierName
memberList
end;
とあり、継承したクラスヘルパを作成することで実質的に複数のヘルパを適用することができます。type
TFooHelper = class helper for TFoo
public
procedure Bar1;
end;
TFooHelperEx = class helper (TFooHelper) for TFoo
public
procedure Bar2;
end;
var
Foo: TFoo;
begin
...
Foo.Bar1; // TFooHelper.Bar1
Foo.Bar2; // TFooHelperEx.Bar2
...
こんな感じです。2020/09/23追記: Mat DeLongさんの記事のリンクを更新しました。pmcgeeさん、情報ありがとうございます。
Category:
Delphi 2007,
Delphi 2009,
Delphi 2010,
Delphi Programming Tips,
Delphi XE,
Delphi XE2
at
9:11:00
2
Comments
2011年11月9日
RAD Studio/Delphi/C++Builder XE2 Update 2 Hotfix 1
RAD Studio/Delphi/C++Builder XE2 Update 2のHotfix 1がリリースされています。
28622 HotFix 1 for Delphi, C++Builder and RAD Studio XE2
- QC100661 Update 2適用後にOSX用C++Builder FireMonkeyアプリケーションがリンカエラーになる
- QC100640 OSX用C++Builder FireMonkeyアプリケーションでSTLコンテナがコンパイルエラーになる
28622 HotFix 1 for Delphi, C++Builder and RAD Studio XE2
2011年11月8日
Delphi XE2でWindows x86/x64に対応するShell Extentionを作成
Shell Extention (Windows Shell)はWindowsのシェルであるexplorer.exeから呼び出されるため、Windowsがx86版であればx86で、x64版であればx64でビルドする必要があります。ということでラテンアメリカ・カリブ地域担当プロダクトラインマネージャ・リードエバンジェリストのAndreano Lanusseさんによる、Delphi XE2を使って同一のソースコードからx86とx64の両方のShell Extentionを作成するサンプルです。興味深い。とりあえずメモ。
Shell Extension for Windows 32-bit and 64-bit with Delphi XE2 | Andreano Lanusse Blog | Technology and Software Development | Delphi
Shell Extension for Windows 32-bit and 64-bit with Delphi XE2 | Andreano Lanusse Blog | Technology and Software Development | Delphi
2011年11月7日
FastMM 4.99リリースとQC100726
Delphi/C++Builder用のメモリマネージャFastMMが4.99に更新されています。
これに関連し、FastMM 4.99で修正された不具合のうち、
Embarcadero Discussion Forums: ATTN: Piere le Riche / FastMM 4.99
Embarcadero Discussion Forums: Unofficial fix for QC#100726
なお上記の非公式fixを導入後に公式なアップデート(Update 3やHotfix for Update 2)を適用する場合は、修復セットアップやバックアップしたファイルのリストアによってこれらのファイルをインストール時のものに戻す必要があるものと思われますので注意が必要です。
ちなみにFastMMの次のバージョンは4.100になるそうです。
これに関連し、FastMM 4.99で修正された不具合のうち、
- Fixed crashes in the 64-bit BASM codepath when more than 4GB of memory is allocated.の2点がDelphi XE2 Update 2のx64用の標準メモリマネージャにも不具合として存在しており(QC100726)、FastMMのAdminであるPierre le Richeさんが非公式なfixをフォーラムに投稿しています。
- Fixed bad record alignment under 64-bit that affected performance.
Embarcadero Discussion Forums: ATTN: Piere le Riche / FastMM 4.99
Embarcadero Discussion Forums: Unofficial fix for QC#100726
なお上記の非公式fixを導入後に公式なアップデート(Update 3やHotfix for Update 2)を適用する場合は、修復セットアップやバックアップしたファイルのリストアによってこれらのファイルをインストール時のものに戻す必要があるものと思われますので注意が必要です。
ちなみにFastMMの次のバージョンは4.100になるそうです。
2011年11月4日
WMI Delphi Code CreatorがC++Builderをサポート
以前紹介したRRUZ(Rodrigo Ruz)さんのWMI Delphi Code CreatorがC++Builder(5~XE2)用のC++のコードを生成できるようになりました。
The WMI Delphi Code Creator now can create C++ Code compatible with Borland/Embarcadero compilers « The Road to Delphi – a Blog about programming
最新版は
WMI Delphi Code Creator « The Road to Delphi – a Blog about programming
からダウンロードできます(2011/11/04現在でVersion 1.1.2.164が最新)。
The WMI Delphi Code Creator now can create C++ Code compatible with Borland/Embarcadero compilers « The Road to Delphi – a Blog about programming
最新版は
WMI Delphi Code Creator « The Road to Delphi – a Blog about programming
からダウンロードできます(2011/11/04現在でVersion 1.1.2.164が最新)。
登録:
投稿 (Atom)