JVCL(JEDI Visual Component Library)がアップデートされてVersion 3.39(JCL Version 2.1.1)になっています。
Browse JEDI VCL for Delphi Files on SourceForge.net
2009年11月9日
2009年11月5日
第15回エンバカデロ・デベロッパーキャンプ日程決定
第15回エンバカデロ・デベロッパーキャンプは2009年12月02日に東京国際フォーラムのホールD1、会議室G502/G510で開催されます。今回はDavid Iさん(エンバカデロ・テクノロジーズ チーフエバンジェリスト)がいらっしゃるとのことです。
2009/11/20追記: 番外の懇親会は前回と同じところだそうです。こういうのは好き嫌いが分かれるところですが。
Team Japan » 第15回デベロッパーキャンプ番外セッション - 懇親会場決まりました
2009/11/27追記: EDNにアーティクルが追加されています。
第15回 エンバカデロ・デベロッパーキャンプ
デベロッパーキャンプ番外セッション 「デベロッパートーク BOF」
2009/11/30追記: 会場のホールD1(ホールDの1F)、会議室G502(ブロックGの5Fの北端)、会議室G510(ブロックGの5Fの南端)は相互に離れているとのことです。セッション間の移動には注意が必要ですね。また、はやしさんがUstreamによる中継を企画しているそうです。
Team Japan » いよいよ12月2日開催、デベロッパーキャンプ
第15回エンバカデロ・デベロッパーキャンプ Usream配信
2009/11/20追記: 番外の懇親会は前回と同じところだそうです。こういうのは好き嫌いが分かれるところですが。
Team Japan » 第15回デベロッパーキャンプ番外セッション - 懇親会場決まりました
2009/11/27追記: EDNにアーティクルが追加されています。
第15回 エンバカデロ・デベロッパーキャンプ
デベロッパーキャンプ番外セッション 「デベロッパートーク BOF」
2009/11/30追記: 会場のホールD1(ホールDの1F)、会議室G502(ブロックGの5Fの北端)、会議室G510(ブロックGの5Fの南端)は相互に離れているとのことです。セッション間の移動には注意が必要ですね。また、はやしさんがUstreamによる中継を企画しているそうです。
Team Japan » いよいよ12月2日開催、デベロッパーキャンプ
第15回エンバカデロ・デベロッパーキャンプ Usream配信
2009年10月30日
RAD Studio/Delphi/C++Builder 2010 Help Update 1
RAD Studio/Delphi/C++Builder 2010のHelp Update 1がリリースされています(予定よりも1ヶ月遅れのような気がしますが)。
27420 Help Update 1 for RAD Studio, Delphi & C++Builder 2010
Delphi 2010 および C++Builder 2010 Help Update 1
Known Problems in the Help - RAD Studio
27420 Help Update 1 for RAD Studio, Delphi & C++Builder 2010
Delphi 2010 および C++Builder 2010 Help Update 1
Known Problems in the Help - RAD Studio
2009年10月22日
C++Builder 2009ファーストガイド完結
2009/07から10回に分けて公開されてきたC++Builder 2009ファーストガイドが無事に完結しました。執筆者の皆さん、おつかれさまでした。
2009年10月21日
MDIアプリケーションにおけるリボンコントロールの不具合の回避
リボンコントロールをメインフォームに使用したMDIアプリケーションでは、MDI子フォームを最大化すると子フォームのリストア/クローズボタンがメインフォーム上の不正な位置に描画されてしまう、という不具合があり、QualityCentralにも報告されています(QC67835、QC70321、QC73386)。この問題を修正するコンポーネントをJED Softwareさんが公開しています(近日中にCodeCentralにも投稿予定とのこと)。
jed-software.com » Blog Archive » VCL Ribbon MDI Fix
jed-software.com » Blog Archive » VCL Ribbon MDI Fix
2009年10月15日
第14回エンバカデロ・デベロッパーキャンプ セッションビデオ
2009年09月02日に大阪で開催された第14回エンバカデロ・デベロッパーキャンプのミガロの吉原さんのテクニカルセッション(T6)のビデオが公開されています。
セッションビデオ「知って得する!現役ヘルプデスクが答えるDelphiテクニカルエッセンス4.0」
セッションビデオ「知って得する!現役ヘルプデスクが答えるDelphiテクニカルエッセンス4.0」
2009年10月14日
C++処理系のC++0xサポート状況
主要なC++処理系のC++0xサポート状況をまとめたページが2ちゃんねるのC++0xスレッドで紹介されていました(結構前の話ですが)。
C++0xCompilerSupport - Stdcxx Wiki
これを見るとC++Builder 2009の対応状況はまあまあといったところでしょうか。最もアグレッシブなのはgccで、次がIntel C++、VC++とC++Builderはどっちもどっちな感じです。
C++0xCompilerSupport - Stdcxx Wiki
これを見るとC++Builder 2009の対応状況はまあまあといったところでしょうか。最もアグレッシブなのはgccで、次がIntel C++、VC++とC++Builderはどっちもどっちな感じです。
アプリケーションの多重起動を禁止するのにglobal atomを使用するのは適切ではない
アプリケーションの多重起動を禁止するでは多重起動禁止にmutexを利用しましたが、別解としてatomの一種であるglobal atomを利用する、という方法も(あまり主流ではないにしても)出回っているようです。しかしGlobalAddAtom(ja)で追加したglobal atomは明示的にGlobalDeleteAtom(ja)で削除しなければ自動的に消滅することはありません。このためアプリケーションが何らかの理由で異常終了してしまうと再実行することができなくなってしまいます。実際にプロジェクトソースを
元ねたはTrial Delphi Programs: Allow Only One Application Execution Per Windows Session。
program Project2;
uses
Windows,
SysUtils,
Messages,
Forms,
Unit2 in 'Unit2.pas' {Form2};
{$R *.RES}
const
{ Atom name }
CAtomName: String = '{7B0C8E12-F168-4DA4-89C9-E4C86BE404FE}';
var
AppAtom: ATOM;
Wnd: HWnd;
AppWnd: HWnd;
begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
if GlobalFindAtom(PChar(CAtomName)) <> 0 then
begin
{ Search main form }
Wnd := FindWindow(PChar('TForm2'),nil); // Class name of the main form
if Wnd = 0 then
begin
Exit;
end;
{ Bring foreground and activate }
SetForegroundWindow(Wnd);
{ Get window handle of TApplication }
AppWnd := GetWindowLong(Wnd,GWL_HWNDPARENT);
if AppWnd <> 0 then
begin
Wnd := AppWnd;
end;
{ Restore if iconized }
if IsIconic(Wnd) then
begin
SendMessage(Wnd,WM_SYSCOMMAND,SC_RESTORE,-1);
end;
Exit;
end;
AppAtom := GlobalAddAtom(PChar(CAtomName));
try
Application.CreateForm(TForm2, Form2);
Application.Run;
finally
GlobalDeleteAtom(AppAtom);
end;
end.
として一つ目のインスタンスを実行し、強制的に終了してから二つ目のインスタンスを実行してみましたが、GlobalFindAtom(ja)で有効なglobal atomが取得できてしまい、ログオフ/再起動を行うまでプログラムは有効に起動できません。ということでアプリケーションの多重実行を禁止するのにglobal atomを使用するのは不適切である(global atomの用途として適切ではない)、という結論に達しました。元ねたはTrial Delphi Programs: Allow Only One Application Execution Per Windows Session。
2009年10月8日
Firebird 1.5.6リリース
Firebird 1.5系列の最終版となる(予定の)Firebird 1.5.6がリリースされています。
Firebird File Repositories(download)
Firebird 1.5.6 Release Notes
Firebird File Repositories(download)
Firebird 1.5.6 Release Notes
タッチアプリケーションのデモ
Cris Bensenさんが先日のCodeRage 4で使用したタッチアプリケーションのデモについて説明しています。
Touch Demo Part IではまずフォームにDirect2Dサーフェースを用意します。WM_ERASEBKGNDメッセージハンドラではバックグラウンドの消去をしないようにして、オーバライドしたPaintでダミーの描画を、同じくオーバライドしたResizeでDirect2Dサーフェースのリサイズを行うようにします。
Touch Demo Part IIでは1秒あたりの描画フレーム数を計測、描画する処理を追加して、10msec毎に再描画を発生させます。
Touch Demo Part IIIではタッチした位置をグラフィカルに表示するためのTGlowSpotとそのリストを用意して、これらをPaintで描画するようにします。WM_TOUCHメッセージハンドラでタッチしたポイント(複数)に対応したTGlowSpotを生成するようにして、最後にRegisterTouchWindowとUnregisterTouchWindowでこのフォームでWM_TOUCHメッセージが発生するようにします。
Touch Demo Part IVではイナーシャ(inertia/慣性)をサポートするためにTGlowSpotに_IManipulationsEvents COMインタフェースを追加してその処理を行わせ、最後にマウス動作をタッチ動作に統合します。
デモはこれで完成、ということでソースコードがCodeCentralで公開されています。
27469 Touch Demo
2009/11/20追記: Part IVの内容を追加しました。
Touch Demo Part IではまずフォームにDirect2Dサーフェースを用意します。WM_ERASEBKGNDメッセージハンドラではバックグラウンドの消去をしないようにして、オーバライドしたPaintでダミーの描画を、同じくオーバライドしたResizeでDirect2Dサーフェースのリサイズを行うようにします。
Touch Demo Part IIでは1秒あたりの描画フレーム数を計測、描画する処理を追加して、10msec毎に再描画を発生させます。
Touch Demo Part IIIではタッチした位置をグラフィカルに表示するためのTGlowSpotとそのリストを用意して、これらをPaintで描画するようにします。WM_TOUCHメッセージハンドラでタッチしたポイント(複数)に対応したTGlowSpotを生成するようにして、最後にRegisterTouchWindowとUnregisterTouchWindowでこのフォームでWM_TOUCHメッセージが発生するようにします。
Touch Demo Part IVではイナーシャ(inertia/慣性)をサポートするためにTGlowSpotに_IManipulationsEvents COMインタフェースを追加してその処理を行わせ、最後にマウス動作をタッチ動作に統合します。
デモはこれで完成、ということでソースコードがCodeCentralで公開されています。
27469 Touch Demo
2009/11/20追記: Part IVの内容を追加しました。
2009年10月1日
RAD Studio 2009対応 TeeChart Standard 8.05アップデート
RAD Studio 2009対応 TeeChart Standard 8.05アップデートがリリースされています。RAD Studio 2010に含まれるものと同等になるようです。
RAD Studio 2009対応 TeeChart Standard 8.05アップデート
27339 TeeChart Standard 8.05 for RAD Studio 2009
Release Notes
RAD Studio 2009対応 TeeChart Standard 8.05アップデート
27339 TeeChart Standard 8.05 for RAD Studio 2009
Release Notes
Asphyre Sphinx
Delphi/C++Builderで2D/3Dグラフィックを扱うためのライブラリとしてはOpenGLのラッパであるGLSceneがメジャーどころですが、Stack Overflowを眺めていたらAsphyre Sphinxというフレームワークを見つけました(ライセンスはMPL 1.1)。Delphi 2006/Turbo Delphi/Delphi 2007対応(Delphi 2009/2010対応はまだ)で、DirectX 7/DirectX 9/OpenGLをサポートしているとのことです。
元ねたはStack Overflowの3D graphics in Delphi/Native TForm GUIs。
元ねたはStack Overflowの3D graphics in Delphi/Native TForm GUIs。
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。
登録:
投稿 (Atom)