RAD Studio/Delphi/C++Builder XE5のHelp Update 1がリリースされています。
Help Update 1 for RAD Studio XE5, Delphi XE5 and C++Builder XE5
29620 Help Update 1 for RAD Studio XE5, Delphi XE5 and C++Builder XE5
リリース ノート: Delphi XE5 および C++Builder XE5 Help Update 1 - RAD Studio (en)
2013年10月31日
2013年10月29日
RAD Studio/Delphi/C++Builder XE5 Update 1
RAD Studio/Delphi/C++Builder XE5のUpdate 1がリリースされています。
RAD Studio XE5 / Delphi XE5 / C++Builder XE5 Update 1 について
Update 1 for RAD Studio XE5, Delphi XE5 and C++Builder XE5
Team Japan » Delphi XE5 / C++Builder XE5 Update 1 がリリースされました
29595 Update 1 for RAD Studio XE5, Delphi XE5 and C++Builder XE5
29543 Delphi XE5 and C++Builder XE5 ISO (Includes Update 1)
XE5 Update 1 のリリース ノート - RAD Studio (en)
RAD Studio XE5(Delphi XE5/C++Builder XE5) Update 1 における不具合修正リスト (en)
RAD Studio XE5 / Delphi XE5 / C++Builder XE5 Update 1 について
Update 1 for RAD Studio XE5, Delphi XE5 and C++Builder XE5
Team Japan » Delphi XE5 / C++Builder XE5 Update 1 がリリースされました
29595 Update 1 for RAD Studio XE5, Delphi XE5 and C++Builder XE5
29543 Delphi XE5 and C++Builder XE5 ISO (Includes Update 1)
XE5 Update 1 のリリース ノート - RAD Studio (en)
RAD Studio XE5(Delphi XE5/C++Builder XE5) Update 1 における不具合修正リスト (en)
2013年10月22日
[書籍]プログラミングWindows第6版 下
MARUZEN&ジュンク堂書店 渋谷店でProgramming Windows, 6th Edition (amazon)の翻訳の後半パートである
プログラミングWindows第6版 下 (amazon)/Charles Petzold著/株式会社クイープ訳/日経BP/ISBN 978-4-82229-818-0/5,460円
を購入。
プログラミングWindows第6版 下 (amazon)/Charles Petzold著/株式会社クイープ訳/日経BP/ISBN 978-4-82229-818-0/5,460円
を購入。
2013年10月17日
[書籍]プログラミング.NET Framework 第4版
八重洲ブックセンター 本店でCLR via C#, 4th Edition (amazon)の翻訳である
プログラミング.NET Framework 第4版 (amazon)/Jeffrey Richter著/藤原雄介訳/日経BP/ISBN 978-4-82229-495-3/8,190円
を購入。
プログラミング.NET Framework 第4版 (amazon)/Jeffrey Richter著/藤原雄介訳/日経BP/ISBN 978-4-82229-495-3/8,190円
を購入。
2013年10月9日
2013年10月1日
2013/10開催のウェブセミナー
- 2013/10/01 13:30-14:15(JST) 10/1 - Webセミナー 「ローカルデータベースにアクセスしよう」
- 2013/10/16 17:00-18:00(JST) デベロッパーTV 「モバイル開発実践テクニック」
- 2013/10/22 13:30-14:15(JST) 10/22 - Webセミナー 「マルチデバイスからデータベースにアクセスするには」
2013年9月30日
[書籍]世界測地系と座標変換
Amazon.co.jpで注文した
世界測地系と座標変換 (amazon)/飛田幹男著/日本測量協会/ISBN 978-4-88941-014-3/1,600円
が配送されてきました(堺配送センター発で今回の配送は日本郵政)。
世界測地系と座標変換 (amazon)/飛田幹男著/日本測量協会/ISBN 978-4-88941-014-3/1,600円
が配送されてきました(堺配送センター発で今回の配送は日本郵政)。
2013年9月20日
[書籍]プログラミングWindows第6版 上
MARUZEN&ジュンク堂書店 渋谷店でProgramming Windows, 6th Edition (amazon)の翻訳の前半パートである
プログラミングWindows第6版 上 (amazon)/Charles Petzold著/株式会社クイープ訳/日経BP/ISBN 978-4-82229-496-0/7,350円
を購入。
プログラミングWindows第6版 上 (amazon)/Charles Petzold著/株式会社クイープ訳/日経BP/ISBN 978-4-82229-496-0/7,350円
を購入。
2013年9月13日
第26回エンバカデロ・デベロッパーキャンプ
本日10:00から第26回エンバカデロ・デベロッパーキャンプが東京ビッグサイトの会議棟6Fで行われます。今回もハンズオンのセッション(B4)を除く全てのセッションがUStreamで中継されるとのことです。
全セッション、懇親会とも無事終了しました。セッションスピーカの皆さん、参加者、関係者の皆さん、おつかれさまでした。
2013/09/18追記: セッション資料がダウンロードできるようになっています。
第26回 エンバカデロ・デベロッパーキャンプ資料ダウンロード
2013/09/24追記: セッションリプレイの公開が始まっています。
全セッション、懇親会とも無事終了しました。セッションスピーカの皆さん、参加者、関係者の皆さん、おつかれさまでした。
2013/09/18追記: セッション資料がダウンロードできるようになっています。
第26回 エンバカデロ・デベロッパーキャンプ資料ダウンロード
2013/09/24追記: セッションリプレイの公開が始まっています。
- 【A1】Delphiチュートリアルセッション「Windows開発者のためのFireMonkeyモバイル開発入門」
- 【B1】HTML5テクニカルセッション「オフラインで"待ちなし"、 500倍を超えるアクセスパフォーマンス!」
- 【A2】Delphi/C++Builderテクニカルセッション「はじめてのFireDAC」
- 【B2】C++Builderテクニカルセッション「いまどきのC++開発をもっと楽にする3つの武器」
- 【G3】ジェネラルセッション「マルチデバイス開発を強化するエンバカデロのRADテクノロジー」
- 【G3】ジェネラルセッション(後半戦)「アプリソムリエお薦めアプリ、Delphiならどう作る?教えて高橋さん!」
- 【A4】テクニカルケーススタディ「RAD Studioによるマルチデバイス開発への道」
- 【B4】Delphi iOSワークショップ「アプリソムリエと作るDelphi iOSアプリ」
- 【A5】Delphi/C++Builderテクニカルセッション「脱Windows XPから一気にマルチデバイス対応を目指す実践テクニック」
- 【G6】クロージングアプリソムリエと語るモバイル開発への取り組み」
2013年9月11日
RAD Studio/Delphi/C++Builder XE5リリース
RAD Studio/Delphi/C++Builder XE5が正式にリリースされたようです。
エンバカデロ、AndroidおよびiOS向けネイティブ開発をサポートしたRAD Studio XE5を本日より販売開始 | Press Releases
Embarcadero Launches RAD Studio XE5 with True Native Android and iOS Support, Allowing Developers to Reach the Largest Addressable Mobile Markets
RAD Studio XE5(Delphi XE5/C++Builder XE5) における不具合修正リスト (en)
29543 Delphi XE5 and C++Builder XE5 ISO
29546 RAD Studio XE5 HTML5 Builder ISO
29525 AQtime for Delphi XE5, C++Builder XE5, and RAD Studio XE5
29526 IP*Works for Delphi XE5 29707 IP*Works for Delphi XE5 Update 2
29527 IP*Works for C++Builder XE5 29706 IP*Works for C++Builder XE5 Update 2
29549 Jomitech PlatinumGrid Lite Pack for HTML5 Builder XE5
29524 FastReport FMX - Embarcadero Edition for XE5
29598FireMonkey Premium Style Pack 3 for RAD Studio XE5 FireMonkey Premium Style Pack for RAD Studio XE5 (v4 Oct 2013) (Team Japan » FireMonkey Premium Style Pack 3 for RAD Studio XE5 が公開されました)
29613 InfoPower for Delphi FireMonkey (2013/12/11更新あり) 29712 InfoPower FM for RAD Studio, Delphi and C++Builder XE5 Update 2
29610 Mida Converter for RAD Studio, Delphi and C++Builder XE5
29645 Documentation Insight Express for RAD Studio XE5
29695 FastReport 4 VCL - Embarcadero Edition for XE5
29708 TeeChart Lite for RAD Studio, Delphi, C++Builder XE5 Update 2
29548 iOS 7 Style Update for Delphi XE5 and RAD Studio XE5 (Delphi XE5およびRAD Studio XE5向け iOS 7スタイルアップデート / Using the iOS 7 Update for XE5)
29701 Android 4.4 KitKat Style for RAD Studio and Delphi XE5 (Team Japan » KitKat(4.4.x)専用のFireMonkeyスタイルを試す)
29716 FireDAC.Phys.IBBase Patch for XE2 Update2 参考: FireDACでFireBirdへ接続時、入力する文字数によってエラーが発生する症状について
29772 Updated REST Debugger
29769 AQtime 8.20 Standard update
Delphi® XE5 および C++Builder® XE5 オンライン ヘルプ (en)
XE5 のリリース ノート (en)
2013/12/11追記: InfoPower for Delphi FireMonkeyが更新されているとのことです。
Team Japan » ボーナスパック - InfoPower社のFireMonkeyコンポーネント集
2014/01/17追記: Fast Report 4 VCLがダウンロードできるようになっています。
2014/01/30追記 IP*WorksがUpdate 2対応版に更新されています。
2014/02/01追記: TeeChart LiteとInfoPower FireMonkeyがUpdate 2対応版に更新されています。
Team Japan » RAD Studio XE5(Delphi/C++Builder) Update2向け、サードパーティライブラリ更新版
2014/02/04追記: FireDAC.Phys.IBBaseのパッチが公開されています。
2014/02/24追記: REST Debuggerが更新されています。またAQtime 8.20 Standard updateも公開されています。
エンバカデロ、AndroidおよびiOS向けネイティブ開発をサポートしたRAD Studio XE5を本日より販売開始 | Press Releases
Embarcadero Launches RAD Studio XE5 with True Native Android and iOS Support, Allowing Developers to Reach the Largest Addressable Mobile Markets
RAD Studio XE5(Delphi XE5/C++Builder XE5) における不具合修正リスト (en)
29543 Delphi XE5 and C++Builder XE5 ISO
29546 RAD Studio XE5 HTML5 Builder ISO
29525 AQtime for Delphi XE5, C++Builder XE5, and RAD Studio XE5
29549 Jomitech PlatinumGrid Lite Pack for HTML5 Builder XE5
29524 FastReport FMX - Embarcadero Edition for XE5
29598
29610 Mida Converter for RAD Studio, Delphi and C++Builder XE5
29645 Documentation Insight Express for RAD Studio XE5
29695 FastReport 4 VCL - Embarcadero Edition for XE5
29708 TeeChart Lite for RAD Studio, Delphi, C++Builder XE5 Update 2
29548 iOS 7 Style Update for Delphi XE5 and RAD Studio XE5 (Delphi XE5およびRAD Studio XE5向け iOS 7スタイルアップデート / Using the iOS 7 Update for XE5)
29701 Android 4.4 KitKat Style for RAD Studio and Delphi XE5 (Team Japan » KitKat(4.4.x)専用のFireMonkeyスタイルを試す)
29716 FireDAC.Phys.IBBase Patch for XE2 Update2 参考: FireDACでFireBirdへ接続時、入力する文字数によってエラーが発生する症状について
29772 Updated REST Debugger
29769 AQtime 8.20 Standard update
Delphi® XE5 および C++Builder® XE5 オンライン ヘルプ (en)
XE5 のリリース ノート (en)
2013/12/11追記: InfoPower for Delphi FireMonkeyが更新されているとのことです。
Team Japan » ボーナスパック - InfoPower社のFireMonkeyコンポーネント集
2014/01/17追記: Fast Report 4 VCLがダウンロードできるようになっています。
2014/01/30追記 IP*WorksがUpdate 2対応版に更新されています。
2014/02/01追記: TeeChart LiteとInfoPower FireMonkeyがUpdate 2対応版に更新されています。
Team Japan » RAD Studio XE5(Delphi/C++Builder) Update2向け、サードパーティライブラリ更新版
2014/02/04追記: FireDAC.Phys.IBBaseのパッチが公開されています。
2014/02/24追記: REST Debuggerが更新されています。またAQtime 8.20 Standard updateも公開されています。
2013年9月6日
InterBase XE3 Update 3
InterBase XE3 Update 3がリリースされています。バージョンは11.0.3.655となっています。
InterBase XE3 Update 3 Readme (en)
Team Japan » InterBase XE3 Update 3 がリリースされました - Android対応
29529 InterBase XE3 Update 3 (11.0.3.655) for Windows, English and Japanese
29530 InterBase XE3 Server Edition for Windows (11.0.3.655, English)
29534 InterBase XE3 Server Edition for Windows (11.0.3.655, Japanese)
29539 InterBase XE3 (11.0.3.655) Developer Edition, English
29536 InterBase XE3 (11.0.3.655) Developer Edition, Japanese
29531 InterBase XE3 Update 3 (11.0.3.655) ToGo Edition, Win/OSX/iOS/An
2013/09/10追記: 日本語版も順次リリースされています。
InterBase XE3 Update 3 Readme (en)
Team Japan » InterBase XE3 Update 3 がリリースされました - Android対応
29529 InterBase XE3 Update 3 (11.0.3.655) for Windows, English and Japanese
29530 InterBase XE3 Server Edition for Windows (11.0.3.655, English)
29534 InterBase XE3 Server Edition for Windows (11.0.3.655, Japanese)
29539 InterBase XE3 (11.0.3.655) Developer Edition, English
29536 InterBase XE3 (11.0.3.655) Developer Edition, Japanese
29531 InterBase XE3 Update 3 (11.0.3.655) ToGo Edition, Win/OSX/iOS/An
2013/09/10追記: 日本語版も順次リリースされています。
2013年9月2日
2013/09開催のウェブセミナー
- 2013/09/03 13:30-14:30(JST) 9/3 - Webセミナー 「FireDACで最新データベースを使おう!」
- 2013/09/18 17:00-18:00(JST) デベロッパーTV 「第26回 エンバカデロ・デベロッパーキャンプを振り返る」
- 2013/09/24 13:30-14:15(JST) 9/24 - Webセミナー 「RAD/Delphi で可能になるiOS/Android開発」
2013年8月22日
Win32APIのSetPriorityClass関数でプロセスの優先順位を指定する
実行中のプロセスの優先順位クラス (Priority class)を取得/設定するにはWin32APIのGetPriorityClass関数 (en)およびSetPriorityClass関数 (en)を使用します。このとき自プロセスの優先順位クラスを指定するのであればGetCurrentProcess関数 (en)で取得した擬似ハンドルを使用することができます(他のプロセスの優先順位クラスの場合、PROCESS_SET_INFORMATIONアクセス権を持ったプロセスハンドルが必要です)。
まずBELOW_NORMAL_PRIORITY_CLASSとABOVE_NORMAL_PRIORITY_CLASSの定義を追加します。
→GetPriorityClassとSetPriorityClassで優先順位クラスを取得/設定する (Gist)
まずBELOW_NORMAL_PRIORITY_CLASSとABOVE_NORMAL_PRIORITY_CLASSの定義を追加します。
{$IF RTLVersion < 24}
const
BELOW_NORMAL_PRIORITY_CLASS = $00004000;
{$EXTERNALSYM ABOVE_NORMAL_PRIORITY_CLASS}
ABOVE_NORMAL_PRIORITY_CLASS = $00008000;
{$EXTERNALSYM ABOVE_NORMAL_PRIORITY_CLASS}
{$IFEND}
フォームに優先順位クラスを表示するComboBox(StyleはcsDropDownList)と優先順位クラスを取得、設定するButtonを配置し、フォームのOnCreateイベントでComboBoxに優先順位クラスの表示文字列と値を格納します。
procedure TForm1.FormCreate(Sender: TObject);
begin
with ComboBox1.Items do
begin
BeginUpdate;
try
Clear;
AddObject(Format('%s (0x%8.8X)',['IDLE',IDLE_PRIORITY_CLASS]),
TObject(IDLE_PRIORITY_CLASS));
AddObject(Format('%s (0x%8.8X)',['BELOW_NORMAL',BELOW_NORMAL_PRIORITY_CLASS]),
TObject(BELOW_NORMAL_PRIORITY_CLASS));
AddObject(Format('%s (0x%8.8X)',['NORMAL',NORMAL_PRIORITY_CLASS]),
TObject(NORMAL_PRIORITY_CLASS));
AddObject(Format('%s (0x%8.8X)',['ABOVE_NORMAL',ABOVE_NORMAL_PRIORITY_CLASS]),
TObject(ABOVE_NORMAL_PRIORITY_CLASS));
AddObject(Format('%s (0x%8.8X)',['HIGH',HIGH_PRIORITY_CLASS]),
TObject(HIGH_PRIORITY_CLASS));
AddObject(Format('%s (0x%8.8X)',['REALTIME',REALTIME_PRIORITY_CLASS]),
TObject(REALTIME_PRIORITY_CLASS));
finally
EndUpdate;
end;
end;
end;
自プロセスの優先順位クラスを取得して表示します。
{$WARN SYMBOL_PLATFORM OFF}
procedure TForm1.Button1Click(Sender: TObject);
var
PriorityClass: DWORD;
I: Integer;
begin
PriorityClass := GetPriorityClass(GetCurrentProcess);
with ComboBox1 do
begin
for I := 0 to Items.Count - 1 do
begin
if DWORD(Items.Objects[I]) = PriorityClass then
begin
ItemIndex := I;
Exit;
end;
end;
ItemIndex := -1;
end;
end;
今度は選択された優先順位クラスを自プロセスに設定します。
procedure TForm1.Button2Click(Sender: TObject);
var
PriorityClass: DWORD;
begin
with ComboBox1 do
begin
if ItemIndex < 0 then
begin
Exit;
end;
PriorityClass := DWORD(Items.Objects[ItemIndex]);
Win32Check(SetPriorityClass(GetCurrentProcess,PriorityClass));
end;
end;
Windowsにおけるスケジューリングのメカニズムは非常に複雑で、優先順位が実行中に動的に変更されるなど、単純に優先順位クラスなどで決まるわけではありません。このあたりをきちんと理解するためにはAdvanced Windows 第5版 上 (amazon)の"7.8 スレッドの優先度"、"7.9 優先度クラスの概要"、"7.10 プログラミングの優先度"やインサイドWindows 第6版 上 (amazon) の"5.7 スレッドのスケジューリング"などを読むことをお勧めします。→GetPriorityClassとSetPriorityClassで優先順位クラスを取得/設定する (Gist)
2013年8月21日
CreateProcessで優先順位を指定してプログラムを起動する
優先順位クラス (Priority class)を指定してプロセスを起動するにはWin32APIのCreateProcess関数 (en)の第6パラメータ(dwCreationFlags)に優先順位クラスを指定します。
Delphi XE2およびそれ以前のバージョンではWindows.pasにBELOW_NORMAL_PRIORITY_CLASSとABOVE_NORMAL_PRIORITY_CLASSが定義されていないので、まずこれらを定義します。
→優先順位クラスを指定してプロセスを起動する (Gist)
Delphi XE2およびそれ以前のバージョンではWindows.pasにBELOW_NORMAL_PRIORITY_CLASSとABOVE_NORMAL_PRIORITY_CLASSが定義されていないので、まずこれらを定義します。
{$IF RTLVersion < 24}
const
BELOW_NORMAL_PRIORITY_CLASS = $00004000;
{$EXTERNALSYM ABOVE_NORMAL_PRIORITY_CLASS}
ABOVE_NORMAL_PRIORITY_CLASS = $00008000;
{$EXTERNALSYM ABOVE_NORMAL_PRIORITY_CLASS}
{$IFEND}
フォームにEditとComboBox、Buttonをひとつずつ配置し、フォームのOnCreateイベントでEditとComboBoxに値を格納します。
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Text := '%windir%\notepad.exe';
with ComboBox1.Items do
begin
BeginUpdate;
try
Clear;
AddObject(Format('%s (0x%8.8X)',['IDLE',IDLE_PRIORITY_CLASS]),
TObject(IDLE_PRIORITY_CLASS));
AddObject(Format('%s (0x%8.8X)',['BELOW_NORMAL',BELOW_NORMAL_PRIORITY_CLASS]),
TObject(BELOW_NORMAL_PRIORITY_CLASS));
AddObject(Format('%s (0x%8.8X)',['NORMAL',NORMAL_PRIORITY_CLASS]),
TObject(NORMAL_PRIORITY_CLASS));
AddObject(Format('%s (0x%8.8X)',['ABOVE_NORMAL',ABOVE_NORMAL_PRIORITY_CLASS]),
TObject(ABOVE_NORMAL_PRIORITY_CLASS));
AddObject(Format('%s (0x%8.8X)',['HIGH',HIGH_PRIORITY_CLASS]),
TObject(HIGH_PRIORITY_CLASS));
AddObject(Format('%s (0x%8.8X)',['REALTIME',REALTIME_PRIORITY_CLASS]),
TObject(REALTIME_PRIORITY_CLASS));
finally
EndUpdate;
end;
end;
with ComboBox1 do
begin
ItemIndex := Items.IndexOfObject(TObject(NORMAL_PRIORITY_CLASS));
end;
end;
優先順位を指定してプロセスを起動します。
{$WARN SYMBOL_PLATFORM OFF}
procedure TForm1.Button1Click(Sender: TObject);
var
ApplicationName: String;
CreationFlags: DWORD;
StartupInfo: TStartupInfo;
ProcessInformation: TProcessInformation;
Length: Integer;
begin
Length := ExpandEnvironmentStrings(PChar(Edit1.Text),nil,0);
SetLength(ApplicationName,Length);
ExpandEnvironmentStrings(PChar(Edit1.Text),PChar(ApplicationName),Length);
UniqueString(ApplicationName);
with ComboBox1 do
begin
if ItemIndex < 0 then
begin
Exit;
end;
CreationFlags := DWORD(Items.Objects[ItemIndex]);
end;
FillChar(StartupInfo,SizeOf(StartupInfo),0);
StartupInfo.cb := SizeOf(StartupInfo);
FillChar(ProcessInformation,SizeOf(ProcessInformation),0);
Win32Check(CreateProcess(PChar(ApplicationName),nil,nil,nil,False,
CreationFlags,nil,nil,
StartupInfo,ProcessInformation));
CloseHandle(ProcessInformation.hProcess);
CloseHandle(ProcessInformation.hThread);
end;
ここではEditに入力された起動対象プログラムに%windir%などの環境変数を使用することを前提としているため、Win32APIのExpandEnvironmentStrings関数 (en)で展開しています。→優先順位クラスを指定してプロセスを起動する (Gist)
2013年8月20日
コマンドプロンプトのSTARTコマンドで優先順位を指定してプログラムを起動する
プログラムを実行するときに、そのプロセスの優先順位クラス (Priority class)を外部から指定するには、コマンドプロンプト(cmd.exe)のSTARTコマンドを使用します。
ここで/<PriorityClass>には
を指定可能です(括弧内の数字は同一の優先順位クラス内の相対的な優先順位を表す優先順位レベル (Priority level)をTHREAD_PRIORITY_NORMALに指定したときのベースプライオリティ)。
start /<PriorityClass> <program>
ここで/<PriorityClass>には
- /REALTIME
- REALTIME_PRIORITY_CLASS (リアルタイム/24)
- /HIGH
- HIGH_PRIORITY_CLASS (高/13)
- /ABOVENORMAL
- ABOVE_NORMAL_PRIORITY_CLASS (通常以上/10)
- /NORMAL
- NORMAL_PRIORITY_CLASS (通常/8)
- /BELOWNORMAL
- BELOW_NORMAL_PRIORITY_CLASS (通常以下/6)
- /LOW
- IDLE_PRIORITY_CLASS (低/4)
2013年8月18日
登録:
投稿 (Atom)