Marco CantuさんのDelphi 2010 Handbookが完成してPDF版(28.00USD/2,474JPY)が発売されました。書籍版(43.50USD/約3,970JPY)は来週くらいにCreateSpaceから、その後数週間でAmazonなどでも入手可能になるようです。
またPDF版をDelphi 2010登録ユーザ向にEmbarcaderoから無償でダウンロードできるように交渉中とのことです。
元ねたはDelphi 2010 Handbook Released。
2010/03/01追記: Delphi 2010 Handbook In Printによると書籍版(print on demand)がCreateSpaceで発売になっています。
2010年2月23日
2010年2月17日
第16回エンバカデロ・デベロッパーキャンプ開催決定
第16回 エンバカデロ・デベロッパーキャンプは前回予告されたとおりにウェブセミナー形式(Mircosoft Live Meeting)で2010年03月11日-12日の2日間で開催されます。今回は中継が可能になったということでDavid Intershimoneさん(エンバカデロ・テクノロジーズ チーフエヴァンジェリスト)、Jason Vokesさん(エンバカデロ・テクノロジーズ テクノロジー&インターナショナルマーケティング シニアディレクタ)、富永英明さん(有限会社エイブル)といった豪華布陣です(あっいつものみなさんが豪華じゃない、という意味ではありません)。
再放送が可能になれば時間や日付が合わない人も見られるようになっていいと思います。
2010/03/05追記: ライブ会場に行きます。仕事はいいのか…?
再放送が可能になれば時間や日付が合わない人も見られるようになっていいと思います。
2010/03/05追記: ライブ会場に行きます。仕事はいいのか…?
2010年2月10日
Delphi 2010におけるREST
Marco CantuさんによるDelphi 2010を使用したRESTの扱いに関するホワイトペーパが翻訳、公開されています。また解説ビデオ(英語)も公開されています。
Rad Studio 2010 in Action JP Marco
「Delphi 2010におけるREST」ホワイトペーパーダウンロード
元ねたはMarco CantuさんのDelphi REST White Paper in Japanese。
Rad Studio 2010 in Action JP Marco
「Delphi 2010におけるREST」ホワイトペーパーダウンロード
元ねたはMarco CantuさんのDelphi REST White Paper in Japanese。
2010年2月9日
Firebird 2.5 Release Candidate 2リリース
firebirdsql.orgのサーバクラッシュの影響で遅れていたFirebird 2.5のRelease Candidate 2ですが、やっとリリースされました。
Firebird File Repositories (download)
Firebird 2.5 Release Notes
Firebird File Repositories (download)
Firebird 2.5 Release Notes
2010年2月8日
一定時間ユーザ入力がないことを検知する
一定時間ユーザがPCの操作が行わなかったことを検知するにはGetLastInputInfo(ja)で最後に操作したタイミング(LASTINPUTINFO構造体のdwTime)と現在のGetTickCount(ja)の値(いずれもmsec単位)を比較します。注意点としてはGetLastInputInfoはシステム全体ではなく現在のセッションのユーザ入力のみを扱うというところでしょうか。
このサンプルではボタンをクリックしてポーリングを開始した後でユーザ入力(キーボード、マウス操作)が10秒間発生しなかったときにメッセージダイアログを表示します。またポーリング毎に前回からユーザ入力が発生していない場合はLabel1に表示しているGetTickCountの表示をclRedに変更しています。
このサンプルではボタンをクリックしてポーリングを開始した後でユーザ入力(キーボード、マウス操作)が10秒間発生しなかったときにメッセージダイアログを表示します。またポーリング毎に前回からユーザ入力が発生していない場合はLabel1に表示しているGetTickCountの表示をclRedに変更しています。
procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Enabled := True;
Button1.Enabled := False;
FLastTick := 0;
Timer1Timer(Sender);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
LII: TLastInputInfo;
begin
FillChar(LII,SizeOf(LII),0);
LII.cbSize := SizeOf(LII);
if GetLastInputInfo(LII) = False then
begin
Exit;
end;
Label1.Caption := 'Last user input: ' + IntToStr(LII.dwTime);
if FLastTick <> LII.dwTime then
begin
Label1.Font.Color := clWindowText;
FLastTick := LII.dwTime;
end
else
begin
Label1.Font.Color := clRed;
end;
if (GetTickCount - LII.dwTime) > (10 * MSecsPerSec) then
begin
Timer1.Enabled := False;
Button1.Enabled := True;
MessageDlg('Detect for input idle (10 seconds).',
mtInformation,[mbOk],0);
Label1.Caption := '';
end;
end;
別解としてSetWindowsHookEx(ja)にWH_KEYBOARD_LL(ja)/WH_MOUSE_LL(ja)を指定して低レベルフックをかけ、フック関数内でGetTickCountの値を取得、というものも考えられますが、- DelphiのIDEから実行するとデバッガでブレークしたときにやたらに時間がかかる。
- Windows XPのVisual Style(Luna)とマウスの低レベルフックの相性が悪く(どちらかというとLunaの不具合)、フォームの最小化、最大化ボタンをクリックしたときに極端に反応が悪くなる。
2010/03開催のウェブセミナー
2010/03/03 18:00-19:00(JST) 3/3 - Webセミナー「DB Optimizerによるデータベース パフォーマンスチューニングの概要と評価方法」
2010/03/24 18:00-19:00(JST) 3/24 - Webセミナー「DBArtisan チュートリアル」
2010/03/24 18:00-19:00(JST) 3/24 - Webセミナー「DBArtisan チュートリアル」
登録:
投稿 (Atom)