2018年7月26日

[書籍][ebook]みんなのデータ構造

Open Data Structures翻訳を書籍化した

みんなのデータ構造/Pat Morin著/堀江慧陣内佑、田中康隆訳/ラムダノート/ISBN 978-4-908686-06-1/2,052円(紙書籍+電子書籍(PDF))、1,296円(電子書籍(PDF)のみ)

を購入して、書籍版が配送されてきました。なおこのOpen Data StructuresはCC BYで公開されており、これを翻訳したものも同様にCC BYとして入手可能です。

2018年7月24日

[書籍]Delphi Memory Management

Amazon (JP)で注文したDelphi Memory Managementの書籍(paperback)版である

Delphi Memory Management (amazon)/Dalija Prasnikar、Neven Prasnikar Jr.著/CreateSpace Independent Publishing Platform/ISBN 978-1721654901/5,345円

が配送されてきました。

2018年7月21日

[書籍][ebook]プロフェッショナルIPv6

Makuakeクラウドファンディングで支援した

プロフェッショナルIPv6 (amazon)/小川晃通著/ラムダノート/ISBN 978-4-908686-04-7/5,400円(紙書籍+電子書籍(PDF))、2,700円(電子書籍(PDF)のみ)

が配送されてきました。

2018年7月19日

Delphi/C++Builder Community Edition

Delphi/C++BuilderのCommunity Editionが発表されています。とりあえず関係するリンクを。

公式
Delphi: Community Edition
C++Builder: Community Edition
RAD Studio 10.2.3 Tokyo 製品機能一覧 (PDF)
Delphi & C++Builder Community Edition FAQs
ソフトウェア使用許諾およびサポート契約書 - RAD Studio 10.2, Delphi 10.2, C++Builder 10.2 (EULA)
Community Edition (docwiki)

インストール手順
Delphi 10.2.3 Community Edition をインストール

インストール中にエラーが発生したらログを取得する
GetItベースのインストーラーのログを有効にする方法 (en)

Communityから他のエディションに移行する方法(基本完全アンインストールし、不要なライセンスを削除してから新しいエディションを入れる)
Moving from Delphi or C++Builder Community Edition to another edition
Community Edition から 製品版 (Professional / Enterprise / Architect ) に変更する手順

ニュース
「Delphi」「C++Builder」のフル機能を無償で ~“Community Edition”が発表 - 窓の杜
エンバカデロ、無償でクロスデバイス開発ができるC++BuilderとDelphi「Community Edition」を提供開始|エンバカデロ・テクノロジーズのプレスリリース
エンバカデロ、DelphiとC++Builderの「Community Edition」提供開始、個人/スタートアップ企業向けの無料版:CodeZine(コードジン)

Delphiユーザによる記事
Delphi Community Edition
Delphi Community Edition と Professional Edition の違いについて
Delphi Community Edition と過去の無償版との比較

(後日改稿予定)

RAD Studio/Delphi/C++Builder 10.2.3 Tokyo Build 3231

RAD Studio/Delphi/C++Builder 10.2.3のBuild 3231のISOおよびwebインストーラがリリースされています。2018/03リリースのRAD Studio/Delphi/C++Builder 10.2.3 Build 2631以後にリリースされたパッチをすべて含んでいます。
これらのパッチを適用済であれば特にBuild 3231に更新する必要はありません。またBuild 3231に更新する場合はあらかじめ既存の(Build 2631およびそれ以前)ものをアンインストールし、インストール先("C:\Program Files (x86)\Embarcadero\Studio\19.0")の下を空にしておくとよいと思われます。

30839 RAD Studio, Delphi, C++Builder 10.2 Release 3 Inline Web Install
30841 RAD Studio, Delphi, C++Builder 10.2 Release 3 Inline ISO

2018年7月14日

RAD Studio/Delphi/C++Builder 10.2.3 RAD Server Performance Patch

RAD Studio/Delphi/C++Builder 10.2.3のRAD Server Performance Patchがリリースされています。RAD Serverのパフォーマンスを改善し、KeepAlive機能を追加するとのことです。Ent/Arc SKU向けのパッチになります。

30838 RAD Server 10.2.3 Performance Patch

RAD Server 10.2.3 Performance Patch

2018年7月11日

Microsoft Monthly Update 2018/07

今日はMicrosoftのセキュリティアップデートの日です。
リリース ノート 2018 年 7 月のセキュリティ更新プログラム
2018 年 7 月のセキュリティ更新プログラム (月例) – 日本のセキュリティチーム

2018/07/23追記: 2018年07月の更新プログラム(月例ロールアップ、セキュリティのみとも)を適用後にネットワーク関係で問題が生じる場合があるとのことで、月例ロールアップに対しては月例ロールアップのプレビューを、セキュリティのみの更新に対しては修正プログラムを、それぞれ適用して対策してほしいとのことです。

7 月の更新プログラムを適用すると Stop エラーなどの問題が発生する – Ask the Network & AD Support Team

2018年6月17日

IDE Fix Pack 6.3

Andreas HausladenさんIDE Fix PackがアップデートされてVersion 6.36.3.1となっています。いくつかの追加fixと、複数のコンパイルオプションを一発で指定できる-x-Oオプションが追加されています。

IDE Fix Pack 6.3 released | Andy's Blog and Tools

2018/06/19追記: XE2用のWin64 Compiler Speed Packに不具合があり、これを修正した6.3.2がリリースされています。

IDE Fix Pack 6.3.2 for XE2 only | Andy's Blog and Tools

2018年6月15日

[書籍]実践 パケット解析 第3版

紀伊國屋書店新宿本店Practical Packet Analysis, 3rd Edition (amazon US)の翻訳であり、実践 パケット解析 第2版の改訂版である

実践 パケット解析 第3版 (amazon)/Chris Sanders著/髙橋基信、宮本久仁男監訳/岡真由美訳/オライリージャパン/ISBN 978-4-87311-844-4/3,456円

を購入。

2018年5月20日

RAD Studio/Delphi/C++Builder 10.2.3 RAD Server Linux Apache Patch

RAD Studio/Delphi/C++Builder 10.2.3のRAD Server Linux Apache Patchがリリースされています。Linux上のApacheでRAD ServerのEMSパッケージをデプロイしたときにlibmod_emsserverが起動しない問題と、Linux ApacheモジュールでFloatToStr関数がクラッシュする問題に対応します。
30836 Delphi 10.2.3 RAD Server Linux Apache Patch

Delphi 10.2.3 [RAD Server Linux Apache]パッチリリース (en)

2018年5月1日

InterBase 2017 Update 2 Hotfix 1

InterBase 2017 Update 2 Hotfix 1がリリースされています。バージョンは13.2.0.322となっています。Update 2はすべてHotfix 1適用済のものに置き換えられています。以下の不具合が修正されています。
  • IB 2017 Update 2 clientを使用するとIBExpertでパラメータ化クエリが失敗する
  • IB 2017 Update 2 (13.2.0.318)のgds32.dllでUniDACが入力パラメータのないストアードプロシージャにアクセスできない
  • UDFがバイナリデータを切り詰めてしまう
  • 複数レコードを挿入するバッチでisc_dsql_batch_update関数がエラーになる

30830 InterBase 2017 Update 2 H1 (13.2.0.322) for Windows
30829 InterBase 2017 Update 2 H1 (13.2.0.322) for Linux and macOS
30828 InterBase 2017 Server Ed., Win/Linux/macOS (13.2.0.322, English)
30827 InterBase 2017 Server Ed, Win/Linux/macOS (13.2.0.322, Japanese)
30826 InterBase 2017 ToGo Ed. (13.2.0.322) Win/Linux/macOS/iOS/Android

Resolved Defects

2018/05開催のセミナー

2018年4月29日

[書籍]インサイドWindows 第7版 上

紀伊國屋書店新宿本店インサイドWindows 第6版 上の改訂版でWindows Internals, Seventh Edition, Part 1 (Microsoft Press Store, amazon US)の翻訳である

インサイドWindows 第7版 上 (amazon)/Pavel YosifovichAlex IonescuMark E. Russinovich、David A. Solomon著/山内和朗訳/日経BP/ISBN 978-4-82225-357-8/8,424円

を購入。なお下巻(Part 2)は原著が未刊行(時期も未定)で、刊行次第の翻訳になるとのことです。

2018年4月18日

RAD Studio/C++Builder 10.2.3 C++ Compiler 4k Stack Allocation Patch

RAD Studio/C++Builder 10.2.3 TokyoのC++ Compiler 4k Stack Allocation Patchがリリースされています。Windows/x86のC++コンパイラ(BCC32C)で4KB以上のパラメータをスタックに積むとデータが破損する不具合が修正されています。
30834 C++Builder 10.2.3 C++ Compiler 4k Stack Allocation Patch

10.2.3 C++ 4KB以上のスタック割り当てに関する問題のホットフィックス (en)

RAD Studio/Delphi/C++Builder 10.2.3 Context Help Patch

RAD Studio/Delphi/C++Builder 10.2.3 Tokyoのコンテキストヘルプ(IDEの[F1]で呼び出されるCHMヘルプ)ファイルが更新されています。

30833 RAD Studio 10.2.3 Context Help Patch

CCからダウンロードできるのは(なぜか)英語版のみですが、

RAD Studio Product Documentation

で言語を選択することで、英語を含め、これ以外の言語(フランス語、ドイツ語、日本語)もZIPファイルをダウンロードできます。ダウンロードしたファイルは展開して、chmファイルをRAD Studioをインストールしたフォルダ("C:\Program Files (x86)\Embarcadero\Studio\19.0"など)の下の Help\Doc およびその下の言語別フォルダ(de/fr/ja)に上書きすればOKです。

2018年3月28日

RAD Studio/Delphi/C++Builder 10.2.3 EMS Package Wizard Patch

RAD Studio/Delphi/C++Builder 10.2.3 TokyoのEMS Package Wizard Patchがリリースされています。EMS Package WizardでWindows x64をターゲットにするとエラーになる不具合が修正されています。
30832 RAD Studio 10.2.3 EMS Package Wizard Patch

RAD Studio 10.2.3 パッチを2つリリース (en)

RAD Studio/Delphi/C++Builder 10.2.3 Android Push Notification Patch

RAD Studio/Delphi/C++Builder 10.2.3 TokyoのAndroid Push Notification Patchがリリースされています。Androidでプッシュ通知を行うと例外が発生する不具合が修正されています。
30831 RAD Studio 10.2.3 Android Push Notification Patch

RAD Studio 10.2.3 パッチを2つリリース (en)

2018年3月23日

[書籍]Parallel Programming with OmniThreadLibrary

Luluで注文した

Parallel Programming with OmniThreadLibrary/Primož Gabrijelčič著/Lulu/ISBN (N/A)/49.99USD

が配送されてきました(今回の配送はDHLのメール便で、オーストラリアはメルボルンからの発送、ニュージーランド経由でした)。2018/03/01に注文して22日目の到着、ebook版所有者のdiscount適用で29.99USDにshippingの12.99USDを加えて42.98USD=4,561JPY(1USD=106.13JPY、暫定)でした。なおハードカバー版とebook版の両方を購入する場合は先にハードカバー版をLuluで購入すると、ebookを9.99USDで購入できるリンクを含むメールが送られてきて、合わせて59.98USD(最初の1月は54.98USD)になるとのことです(shippingは別途)。それにしてもハードカバーはごつい…。

2018年3月17日

InterBase 2017 Update 2

InterBase 2017 Update 2がリリースされています。バージョンは13.2.0.318となっています。パラメータクエリーのパラメータの順序の改善、IBConfigへのテスト用の設定の追加、パフォーマンス調整、いくつかの不具合の修正が行われています。

30830 InterBase 2017 Update 2 (13.2.0.318) for Windows
30829 InterBase 2017 Update 2 (13.2.0.318) for Linux and macOS
30828 InterBase 2017 Server Ed., Win/Linux/macOS (13.2.0.318, English)
30827 InterBase 2017 Server Ed, Win/Linux/macOS (13.2.0.318, Japanese)
30826 InterBase 2017 ToGo Ed. (13.2.0.318) Win/Linux/macOS/iOS/Android

InterBase 2017 Update 2 Readme (en)
解決された不具合 (en)

2018年3月15日

第35回 エンバカデロ・デベロッパーキャンプ・イン東京

本日10:00から第35回エンバカデロ・デベロッパーキャンプ・イン東京UDX GALLERY NEXTで行われます。今回もUStreamによるライブ中継が行われます。
  • 【G1】ジェネラルセッション「コーポレートアップデート」
  • 【G2】プロダクトショーケース「Delphi / C++Builder / Senchaで実現する変化に強い情報システム」
  • 【A3】Delphi / C++ / Senchaセッション「既存のC/SアプリケーションをSenchaを使ってWeb対応する」
  • 【B3】Delphi / C++セッション「iOS、Android、Windowsライブラリ利用のためのインターフェイス活用術」
  • 【A4】Delphi / C++セッション「FireMonkey 再入門 - 分かりづらい原因はスタイルにあった!スタイル徹底入門」
  • 【B4】Delphi / C++ / Senchaセッション「依存性を排除したデータベースアプリケーション構築実践法」
  • 【A5】Delphi / C++ セッション「Windows 10ガイドラインに適合するユーザーインターフェイス構築術」
  • 【B5】Delphi セッション「ボクセルで3Dモデリング~ブロックを積むだけの簡単なお仕事~」
  • 【G6】ライトニングトーク「共有!みんなの開発事例、開発経験、テクニック」
    • Replay (1/1)

2018年3月14日

Microsoft Monthly Update 2018/03

今日はMicrosoftのセキュリティアップデートの日です。
リリース ノート 2018 年 3 月のセキュリティ更新プログラム
2018 年 3 月のセキュリティ更新プログラム (月例) – 日本のセキュリティチーム

[書籍][ebook]Delphi High Performance

Packt Publishingで注文した

Delphi High Performance (amazon US, amazon JP)/Primož Gabrijelčič著/Packt Publishing/ISBN 9781788625456/44.99USD(Print+eBook)

が配送されてきました(今回の配送もDHLで、インドのチェンナイからの発送でした)。2018/02/05にプレオーダで注文して2018/02/27に印刷可能になってから15日目の到着、プレオーダのdiscount適用で33.75USD=4,676JPY(1USD=116.900JPY)でした。

RAD Studio/Delphi/C++Builder 10.2 Tokyo Release 3

RAD Studio/Delphi/C++Builder 10.2 TokyoのRelease 3(10.2.3)がリリースされています。

30820 RAD Studio, Delphi, C++Builder 10.2 Release 3 Web Install
30822 RAD Studio, Delphi, C++Builder 10.2 Release 3 ISO

10.2 Tokyo - Release 3 - RAD Studio (en)
RAD Studio 10.2 Tokyo Release 3 新機能および不具合修正リスト (en)

RAD Studio 10.2.3リリースのお知らせ
Announcing the Release of RAD Studio 10.2.3

Delphi 10.2.3 is Now Available
New in 10.2.3: FireMonkey UI Templates - Login Screens
Delphi と C++Builder 10.2.3 Professional Editionに、モバイルサポートが追加 (en)
Delphi / C++Builder 10.2.3 Professional - Mobile Packのインストール手順 (en)
RTL Enhancements in RAD Studio 10.2.3
10.2.3でのC++の品質 (en)
RAD Studio 10.2.3におけるデータベースとFireDACの機能強化 (en)
10.2.3 最新版の CMakeサポート (en)
10.2.3の新機能:iOSとAndroid用のCMakeのサポート (en)
10.2.3で CMake with Ninjaを使う (en)

Delphi / C++Builder 10.2 Tokyo Release 3 でモバイル開発したい

2018年3月9日

2018年3月4日

2018年3月1日

2018/03開催のセミナー

2018年2月25日

[書籍]Adaptive Code

紀伊國屋書店新宿本店C#実践開発手法の改訂版でAdaptive Code, 2nd Edition (amazon US)の翻訳である

Adaptive Code (amazon)/Gary McLean Hall著/クイープ訳/長沢智治監訳/日経BP/ISBN 978-4-82225-354-7/5,400円

を購入。

2018年2月10日

RAD Studio/Delphi/C++Builder 10.2.2 Febrary 2018 Patch

RAD Studio/Delphi/C++Builder 10.2.2 TokyoのFebrary 2018 Patchがリリースされています。Androidでアニメーションしなくなる不具合などが修正されています。
30819 RAD Studio 10.2.2 Tokyo February 2018 Patch

RAD Studio 10.2.2 Tokyo 2018年2月パッチ[JAPAN]

2018/02/11追記: 詳細は不明ですが、現時点で非公開になっている模様です。Jeroen W. Pluimersさんによると実行時パッケージのリンクの問題で公開が一時保留になっているようです。

2018/02/16追記: 再公開されました。最初のリリースでは管理者権限で実行されなかったときに問題が発生することがあったようで、これを上書きするzipファイルも別途用意されています。

2018年2月3日

Firebird 3.0.3

Firebird 3.0.3がリリースされています。

Firebird: Firebird 3.0.3
Firebird 3.0.3 Release Notes (PDF)

なおデータベース暗号化を使用する場合はこのバージョンに移行することを推奨とのこと。

2018年2月1日

2018年1月26日

IDE Fix Pack 6.2

Andreas HausladenさんIDE Fix PackがアップデートされてVersion 6.2となっています。2点の不具合修正とレコード型を戻値とする関数で一時領域を削除する最適化オプション(-x-orc)の追加が行われています。

IDE Fix Pack 6.2 | Andy's Blog and Tools

2018年1月19日

[書籍]プログラマの数学 第2版

紀伊國屋書店新宿本店

プログラマの数学 第2版 (amazon)/結城浩著/ソフトバンククリエイティブ/ISBN 978-4-7973-9545-7/2,484円

を購入。

2018年1月17日

Firebirdロードマップ(2018/01)

Firebirdのロードマップが更新されています。

Firebird: Roadmap
Firebird Roadmap updated for January – Firebird News

適当な要約
  • Firebird 2.0 - 2012年に開発終了。最新版は2.0.7
  • Firebird 2.1 - 2014年に開発終了。最新版は2.1.7
  • Firebird 2.5 - 安定版。年2回のメンテナンスサイクルでリリース。最新版は2018年01月の2.5.8で、次回は2018年第4四半期を予定。
  • Firebird 3.0 - 安定版。年4回のサイクルで不具合修正と性能向上を行っている。最新版は2017年03月の3.0.2で、次回は2018年第1四半期2018年02月の3.0.3で、次回(3.0.4)は2018年第3四半期を予定。
  • Firebird 4.0 - 現在開発中(Alpha 1プレビューリリースおよび日毎のスナップショットを公開)。

2018/02/06追記: Firebird 3.0.3のリリースに伴い、ロードマップが一部更新されたものを反映しました。

2018年1月16日

RAD Studio/Delphi/C++Builder 10.2.2 Welcome Page Patch

RAD Studio/Delphi/C++Builder 10.2.2 TokyoのウェルカムページのPatchがリリースされています。ドキュメンテーションタブの表示がおかしくなる問題を修正するとのことです。
30818 RAD Studio 10.2.2 Welcome Page Patch

10.2 Release 2 Welcome Pageのホットフィックス[JAPAN]

2018年1月8日

2017年12月25日

[書籍]Effective SQL

啓文堂書店渋谷店Effective SQL (amazon US)の翻訳である

Effective SQL (amazon)/John L. ViescasDouglas J. Steele、Ben G. Clothier著/株式会社クイープ監訳/翔泳社/ISBN 9784798153995/3,780円

を購入。

2017年12月22日

[書籍]ベタープログラマ

紀伊國屋書店新宿本店Becoming a Better Programmer (amazon US)の翻訳である

ベタープログラマ (amazon)/Pete Goodliffe著/柴田芳樹訳/オライリージャパン/ISBN 978-4-87311-820-8/3,240円

を購入。

2017年12月15日

IDE Fix Pack 6.1.2

Andreas HausladenさんIDE Fix PackがアップデートされてVersion 6.1.2となっています。RAD Studio/Delphi/C++Builder 10.2 Tokyo Release 2 (10.2.2)への対応とバグフィックスとのことです。

IDE Fix Pack 6.1.2 (supports Delphi 10.2.2) | Andy's Blog and Tools

2017年12月13日

Sencha RAD Mix Tokyo

本日10:00からSencha RAD Mix TokyoがUDX GALLERY NEXTで行われます。UStreamでの中継も行われます。

Microsoft Monthly Update 2017/12

今日はMicrosoftのセキュリティアップデートの日です。
リリース ノート 2017 年 12 月のセキュリティ更新プログラム
2017 年 12 月のセキュリティ更新プログラム (月例) – 日本のセキュリティチーム

RAD Studio/Delphi/C++Builder 10.2 Tokyo Release 2

RAD Studio/Delphi/C++Builder 10.2 TokyoのRelease 2(10.2.2)がリリースされています。

30806 RAD Studio, Delphi, C++Builder 10.2 Release 2 Web Install
30808 RAD Studio, Delphi, C++Builder 10.2 Release 2 ISO

10.2 Tokyo - Release 2 (en)

List of new features and customer reported issues fixed in RAD Studio 10.2 Tokyo Release 2

Delphi 10.2.2 Has Been Released
RAD Studio 10.2.2 Released Today

Delphi/C++Builder 10.2.2におけるHTTPプロトコル関連の改善[JAPAN]

2017/12/18追記: 初期リリースにはバイナリの互換性に問題があった(RSP-19539)ようで、2017/12/17付でインストーラが更新されています(ビルド番号は更新前が1978、更新後が2004となっています)。ビルド番号1978をインストールした場合は、まず1978をアンインストールして、そのあとで2004をインストールする必要があります。またこのとき設定移行ツールは正常に動作しない可能性があります。

2017年12月5日

JCLでお手軽に例外発生時のスタックトレースを取る

このアーティクルはDelphi Advent Calendar 2017の5日目の記事です(2年ぶり4回目)。またゆるふぁい#0のLTの内容を元にしています。なお以下の説明は基本的にVCLアプリケーションのお話になります。

Delphiで作成したプログラムを実行中にエラーが発生すると例外が送出されます。
procedure TForm1.Button1Click(Sender: TObject);
var
  P: PInteger;
begin
  P := nil;
  P^ := 42;  // EAccessViolation
end;
プログラム上で捕捉されなかった例外(unhandled exception)は、デフォルトの例外の処理としてApplicationオブジェクトで捕捉されてエラーメッセージを表示します。

このとき例外の原因になった処理のアドレスは詳細マップファイルを生成しておけばわかります(後述)。しかしエラーが発生した箇所までの実行経路(呼び出し経路)が複雑だったり、Systemユニットにあるような低レベルの関数のように、どこから呼ばれるのかの選択肢が非常に多い箇所でエラーが発生した場合は、単に例外が発生したアドレスがわかるだけでは不十分です。デバッガ上で動作させているのであればDelphiのIDEで例外発生時の呼び出し履歴を見ればよいのですが、客先環境でしか再現しないような場合などでスタックトレースを取ることができれば問題解決の大きな助けになります。そこで簡単にできる方法として、JCL(JEDI Code Library)のJCL Debugを使って例外送出箇所までのスタックトレースを取得してみます(もちろん商用製品のmadExceptEurekaLogであればもっといろいろなことができるとは思います)。

JCL(JEDI Code Library)はJEDIプロジェクトによるライブラリ群です。ビジュアルコンポーネントのJVCL(JEDI VCL)とともにインストールされていることも多いのではないでしょうか。新たにインストールする場合は、Delphiの複数バージョンがインストールされている環境ではリポジトリ(JCLJVCL)から取得してインストール、単一のバージョンのみならGetItパッケージマネージャからインストール、Starter SKUであればCC(JCLJVCL)からバイナリインストーラをダウンロードしてインストール、ということになります(詳細な手順は省略します)。JCLがインストールされると、"メインメニュー"→"プロジェクト"の一番下あたりに"JCL Debug expert"というアイテムが追加されているはずです。

さて、ここまで来れば、必要な手順はたった4つです。プロジェクトを開いておいて、

ステップ1: "JCL Debug expert"の"Generate .jdbg files"を有効("Always enabled"または"Enabled for this project")にします。

ステップ2: "Insert JDBG data into the binary"を有効("Always enabled"または"Enabled for this project")にします。

ステップ3: "メインメニュー"→"プロジェクト"→"オプション"で"プロジェクトオプション"ダイアログを表示し、必要なターゲットを選択("すべての構成 - すべてのプラットフォーム"でいいと思います)して、"Delphiコンパイラ"→"リンク"の"マップファイル, 64ビット Windows, 32ビット Windows, OS X, iOS シミュレータ プラットフォームのみ"を"詳細"に変更します。

ステップ4: "メインメニュー"→"ファイル"→"新規作成"→"その他"で"新規作成"ダイアログを表示して、"Delphiプロジェクト"→"Delphiファイル"から"JCL Exception dialog for Delphi"を選択すると"New exception dialog..."ウィザードが表示されます。ここでPage 1 of 7の"Unit file name"に例外ダイアログのユニット名を入れ、Page 2 of 7の"Sizeable dialog"にチェックして(他の項目はとりあえずデフォルトのままでOK)、"Finish"ボタンをクリックすると例外ダイアログのユニットが作成されます。ただこのままだと表示フォントが英語環境向けなので、プロジェクトで使用しているフォントに合わせたほうがいいと思います(とりあえずフォームをテキスト表示にして"Font.*"の項目を全部削除すればデフォルトになります)。

これでプロジェクトをコンパイルすると確認ダイアログが表示されますが、これは詳細マップを作る設定に変更しますか?という確認なのでそのまま"OK"とします。これでコンパイルされたプログラムを実行すると例外ダイアログが表示されますが、ここで"Details"ボタンをクリックすると、スタックトレースが表示されます。

------------------------------------------------------------------------------
Exception log with detailed tech info. Generated on 2017/11/09 19:39:30.
You may send it to the application vendor, helping him to understand what had happened.
Application title: Project1
Application file: (省略)\Win32\Debug\Project1.exe
------------------------------------------------------------------------------
Exception class: EAccessViolation
Exception message: モジュール 'Project1.exe' のアドレス 005D908C でアドレス 00000000 に対する書き込み違反がおきました。.
Exception address: 005D908C
------------------------------------------------------------------------------
Main thread ID = 2320
Exception thread ID = 2320
------------------------------------------------------------------------------
Exception stack
Stack list, generated 2017/11/09 19:39:30
[005D908C]{Project1.exe} Unit1.TForm1.Button1Click (Line 31, "Unit1.pas" + 2)
[00522143]{Project1.exe} Vcl.Controls.TControl.Click (Line 7442, "Vcl.Controls.pas" + 9)
[00526749]{Project1.exe} Vcl.Controls.TWinControl.WndProc (Line 10160, "Vcl.Controls.pas" + 158)
[0053B254]{Project1.exe} Vcl.StdCtrls.TButtonControl.WndProc (Line 5278, "Vcl.StdCtrls.pas" + 13)
[005268AF]{Project1.exe} Vcl.Controls.DoControlMsg (Line 10229, "Vcl.Controls.pas" + 12)
[00526749]{Project1.exe} Vcl.Controls.TWinControl.WndProc (Line 10160, "Vcl.Controls.pas" + 158)
[005C3E0D]{Project1.exe} Vcl.Forms.TCustomForm.WndProc (Line 4546, "Vcl.Forms.pas" + 209)
[00525D68]{Project1.exe} Vcl.Controls.TWinControl.MainWndProc (Line 9867, "Vcl.Controls.pas" + 3)
[004C590C]{Project1.exe} System.Classes.StdWndProc (Line 17364, "System.Classes.pas" + 8)
[0052685A]{Project1.exe} Vcl.Controls.TWinControl.DefaultHandler (Line 10201, "Vcl.Controls.pas" + 30)
[00526749]{Project1.exe} Vcl.Controls.TWinControl.WndProc (Line 10160, "Vcl.Controls.pas" + 158)
[0053B254]{Project1.exe} Vcl.StdCtrls.TButtonControl.WndProc (Line 5278, "Vcl.StdCtrls.pas" + 13)
[004C590C]{Project1.exe} System.Classes.StdWndProc (Line 17364, "System.Classes.pas" + 8)
------------------------------------------------------------------------------
Call stack for main thread
Stack list, generated 2017/11/09 19:39:30
[773A0C52]{ntdll.dll } ZwGetContextThread
(以下省略)
------------------------------------------------------------------------------
こんな感じで例外発生までの呼び出し履歴が表示されます。スタックトレースの表示項目はこの場合、左からアドレス、実行ファイル、メソッド、ソースコード内の当該行番号、ユニット名、メソッド先頭からの行オフセットとなっています(リンクされたユニットのデバッグ情報によって表示される項目が異なります)。

JCL Debugを有効にするとプロジェクトファイル(.dpr)の先頭に
// JCL_DEBUG_EXPERT_GENERATEJDBG ON
// JCL_DEBUG_EXPERT_INSERTJDBG ON
の2行が追加され、リンク時に.mapファイルから.jdbgファイルを生成して、これを実行ファイルに埋め込んでくれます。一方で例外ダイアログではこの.jdbgファイルの情報からスタックトレースに必要な情報を取り出して上記のような表示を行ってくれる、という仕組みです。

また例外ダイアログを使わずログなどに記録するような場合は、
unit DumpExceptionStack;

interface

uses
  Winapi.Windows,
  System.SysUtils,
  JclBase, JclDebug;

function DumpLastExceptStackInfoList(const Separator: String = '|'): String;


implementation

function GetStackInfoDescription(const Addr: Pointer): String;
var
  Info: TJclLocationInfo;
  StartProcInfo: TJclLocationInfo;
  OffsetStr: String;
  StartProcOffsetStr: String;
  FixedProcedureName: String;
  UnitNameWithoutUnitscope: String;
begin

  OffsetStr := '';

  if GetLocationInfo(Addr, Info) = True then
  begin
    with Info do
    begin
      FixedProcedureName := ProcedureName;
      if Pos(UnitName + '.', FixedProcedureName) = 1 then
      begin
        FixedProcedureName := Copy(FixedProcedureName,
                                   Length(UnitName) + 2,
                                   Length(FixedProcedureName) - Length(UnitName) - 1);
      end
      else if Pos('.', UnitName) > 1 then
      begin
        UnitNameWithoutUnitscope := UnitName;
        Delete(UnitNameWithoutUnitscope, 1, Pos('.', UnitNameWithoutUnitscope));
        if Pos(UnitNameWithoutUnitscope + '.', FixedProcedureName) = 1 then
        begin
          FixedProcedureName := Copy(FixedProcedureName, Length(UnitNameWithoutUnitscope) + 2, Length(FixedProcedureName) - Length(UnitNameWithoutUnitscope) - 1);
        end;
      end;

      if LineNumber > 0 then
      begin
        if (GetLocationInfo(Pointer(TJclAddr(Info.Address) - Cardinal(Info.OffsetFromProcName)), StartProcInfo) = True) and
           (StartProcInfo.LineNumber > 0) then
        begin
          StartProcOffsetStr := Format(' + %d', [LineNumber - StartProcInfo.LineNumber]);
        end
        else
        begin
          StartProcOffsetStr := '';
        end;

        if OffsetFromLineNumber >= 0 then
        begin
          OffsetStr := Format(' +0x%x', [OffsetFromLineNumber]);
        end
        else
        begin
          OffsetStr := Format(' -0x%x', [-OffsetFromLineNumber]);
        end;

        Result := Format('[0x%p] %s.%s (Line %u, "%s"%s)%s',
                         [Addr, UnitName, FixedProcedureName, LineNumber, SourceName, StartProcOffsetStr, OffsetStr]);
      end
      else
      begin
        OffsetStr := Format(' +0x%x', [OffsetFromProcName]);
        if UnitName <> '' then
        begin
          Result := Format('[0x%p] %s.%s%s', [Addr, UnitName, FixedProcedureName, OffsetStr]);
        end
        else
        begin
          Result := Format('[0x%p] %s%s', [Addr, FixedProcedureName, OffsetStr]);
        end;
      end;
    end;
  end
  else
  begin
    Result := Format('[0x%p]', [Addr]);
  end;

end;

function DumpLastExceptStackInfoList(const Separator: String = '|'): String;
var
  I: Integer;
begin

  Result := '';

  with JclLastExceptStackList do
  begin
    ForceStackTracing;
    for I := 0 to Count - 1 do
    begin
      Result := Result + GetStackInfoDescription(Items[I].CallerAddr) + Separator;
    end;
  end;

  if Result <> '' then
  begin
    Delete(Result,Length(Result) - Length(Separator) + 1,Length(Separator));
  end;

end;

initialization
//  Include(JclStackTrackingOptions, stRawMode);
  Include(JclStackTrackingOptions, stStaticModuleList);
  JclStartExceptionTracking;

finalization
  JclStopExceptionTracking;

end.
このようなユニットをプロジェクトファイルのなるべく先頭のほうでusesしておき、TApplicationEventsコンポーネントのOnExceptionイベントで
procedure TForm1.ApplicationEvents1Exception(Sender: TObject; E: Exception);
begin
  Memo1.Lines.Add(DumpLastExceptStackInfoList(sLineBreak));
end;
というように処理させることもできます。

JCL Debugのいいところとしては、無料であること、またJCL/JVCLを入れてあればそれだけで使えることがあげられます。一方でいまいちなところとしては、メインスレッド以外のスレッドを扱うときはTThreadからではなくTJclDebugThreadから派生していないとスタックトレースがとれないこと、リソースDLLで言語切り替えをするプロジェクトでは、言語リソースDLLのコンパイルでいちいちエラーになってJCLの例外ダイアログが表示されること、それ以外にもJCL Debugを有効にしているとIDEでJCLの例外ダイアログが頻繁に表示されること、などがあります。

ところで例外時の(通常の)アドレス表示からソースコードの場所を特定するには、マップファイルを参照します(こちらも詳細がお勧めです)。表示されたアドレスから、マップファイルの先頭にある

Start Length Name Class
0001:00401000 001D3B24H .text CODE
0002:005D5000 0000155CH .itext ICODE
...
のCODEの値、通常は0x00401000を引きます。この値がマップファイル上のアドレス表示の"0001:XXXXXXXX"のXXXXXXXXに相当します。次にマップファイルの"Publics by Value"のリストの"0001:"の部分を上から順に、このアドレスと同じか、より小さく最も近い行を探します。見つかった行が例外を発生させたメソッドになります。さらに詳細マップであれば"Line numbers for"でこのアドレスを探していき、見つかったらそこに書かれているのがユニット(ソースコード)の名前と、行番号になります。

JclDebugでスタックトレースを取得する(Gist)

2017年12月4日

C++17標準規格発行

C++の新しい標準規格であるC++17(C++1z)がISOからISO/IEC 14882:2017として発行されたとのことです。

C++17がISOから発行されました - Faith and Brave - C++で遊ぼう

次の改訂は2020年に予定されているC++2x(C++20)になるようです。C++Builderも早いところC++17をサポートしてほしいものですが、その前にやらなきゃならないことがたくさんありますね…。

2017年12月1日

2017年11月1日

2017/11開催のセミナー

IDE Fix Pack 6.1.1

Andreas HausladenさんIDE Fix PackがアップデートされてVersion 6.1.1となっています。Compiler Speed Packの-x-fvsオプションに関する不具合のhotfixとのことです。

2017年10月30日

InterBase 2017 Update 1 Hotfix 1

InterBase 2017 Update 1にHoxfix 1が適用されて再リリースされています。バージョンは13.1.0.284となっています。InterBase 2017 Update 1にはクラッシュする不具合があり、回避策がないとのことで取り下げになっており、InterBase 2017 Update 1 Hotfix 1に置き換えられています(2017/10/30現在でDeveloper/Trial EditionはまだHotfix未適用のもののままのようです)。

30804 InterBase 2017 Update 1 (13.1.0.284) for Windows
30803 InterBase 2017 Update 1 (13.1.0.284) for Linux and macOS
30802 InterBase 2017 Server Ed., Win/Linux/macOS (13.1.0.284, English)
30801 InterBase 2017 Server Ed, Win/Linux/macOS (13.1.0.284, Japanese)
30800 InterBase 2017 ToGo Ed. (13.1.0.284) Win/Linux/macOS/iOS/Android
30738 InterBase 2017 (13.1.0.284) Developer Edition, English
30736 InterBase 2017 (13.1.0.284) Developer Edition, Japanese

Resolved Defects InterBase 2017 Update 1 Hotfix 1: October 2017, bugs fixed in version 2017 Update 1.
InterBase 2017 Update 1 Hotfix 1 is now available for download...

IDE Fix Pack 6.1

Andreas HausladenさんIDE Fix PackがアップデートされてVersion 6.1となっています。Compiler Speed PackのオプションをIDEのプロジェクト/コンパイルオプションで指定できるようにして、以下の機能を追加、変更しています。
  • Windows 10 Craetors Update(Version 1703)上でのパフォーマンス上の問題の対応としてDelphi 10.1 Berlinおよびそれ以前のバージョンでDLLの重複インポートを削除する(-x-fdi/デフォルトで有効)
  • Borland C++コンパイラの-ffオプションのように浮動小数点演算でfwait命令を削除して演算を高速化する(-x-ff)
  • Win32のDelphiコンパイラで仮想メソッドをインタフェース経由で呼び出す場合にXCHG命令を置き換えてCPUが暗黙にロックされるのを避けるような命令を生成する(-x-fvs)
  • Win32コンパイラで関数プロローグコードでXCHG命令を置き換える機能(-x-fpr)
  • "Compiler64.X86"パッチを小さいいくつかのパッチに分割
  • "EditorFocusFix"パッチでドッキングなしのレイアウトでメインフォームがアクティブウィンドウでないときにSetActiveWindowの呼び出しをスキップ

IDE Fix Pack 6.1 released | Andy's Blog and Tools

2017年10月22日

[書籍]Sphinxをはじめよう 第2版

技術書典3

Sphinxをはじめよう 第2版(POD版)/清水川貴之小宮健山田剛若山史郎著/オライリー・ジャパン/ISBN 978-4-87311-819-2/1,800円

を購入。

2017年10月3日

[ebook]Delphi Memory Management For Classic And ARC Compilers

FastSpring

Delphi Memory Management For Classic And ARC Compilers/Dalija Prasnikar、Neven Prasnikar Jr.著/ePix/ISBN (N/A)/32.50USD

を購入(日本円で税込4,090JPY)。

この本はまだ執筆途中で、First Public Beta Releaseという扱いです。First Editionは2017/10/10予定とのこと。またMemory optimizationsとMemory management toolsの章は後日の無償アップデートで追加されるとのことです。

2017年9月29日

IDE Fix Pack 6.0

Andreas HausladenさんIDE Fix PackがアップデートされてVersion 6.0となっています。RAD Studio/Delphi/C++Builder 10.2.1 Tokyo対応とWindows x64のコンパイル速度の最適化、Delphi 2009のエディタのUTF-8のブロック補完が追加されています。

IDE Fix Pack 6.0 released – dcc64 and 10.2 Update 1 support | Andy's Blog and Tools

RAD Studio/Delphi/C++Builder 10.2.1 Tokyo iOS 11 Patch

RAD Studio/Delphi/C++Builder 10.2.1 TokyoのPatchがリリースされています。iOS 11への対応と以下の問題の修正、Windows/Linux用を含むPAServerのアップデートが行われているとのことです。
iOS SDKは10.3.xと11、Xcodeは8.2.x、8.3.2/8.3.3と9.0に対応しています。またこのPatchには前回のiOS Ad Hoc Deployment Patchの内容が含まれていますが、気にせず適用して構わないとのことです(30797が適用されていてもいなくても問題ない)。

30805 RAD Studio 10.2.1 iOS 11 Patch

Build iOS 11 ready apps with RAD Studio 10.2.1

2017年8月8日

RAD Studio/Delphi/C++Builder 10.2 Tokyo Release 1

RAD Studio/Delphi/C++Builder 10.2 TokyoのRelease 1(10.2.1)がリリースされています。

30783 RAD Studio, Delphi, C++Builder 10.2 Release 1 Web Install
30785 RAD Studio, Delphi, C++Builder 10.2 Release 1 ISO

10.2 Tokyo - Release 1 - RAD Studio (en)

List of new features and customer reported issues fixed in RAD Studio 10.2 Tokyo Release 1

RAD Studio 10.2.1 Released Today
RAD Studio 10.2.1をリリース
RAD Studio 10.2 Tokyo Release 1提供開始のご案内 [JAPAN]

Delphi Tokyo Release 1 or 10.2.1 is Now Available
Creators Update BPL Loading Issue and Tokyo Release 1

ただ非常に残念なことに、Andreas HausladenさんIDE Fix Packは10.2 Tokyoを最後に、これ以降のリリースをサポートしないとアナウンスされており、既に10.2 Tokyo用のダウンロードもできなくなっています。10年近くにわたって非常に有用なソフトウェアを提供してくださったAndreas Hausladenさんに感謝するとともに、このようなパッチがなくてもよいようにIDEの品質向上にEmbarcaderoが注力することを強く望みます(Andreasさんを半年くらいパートタイムで雇用すれば解決するのでは?)。

2017年8月3日

2017年7月28日

第34回エンバカデロ・デベロッパーキャンプ・イン東京

本日10:00から第34回エンバカデロ・デベロッパーキャンプ・イン東京コングレスクエア中野で行われます。今回もUStreamによるライブ中継が行われます。

  • 第34回 エンバカデロ・デベロッパーキャンプ・イン東京
    • 【G1】ジェネラルセッション「モダナイゼーションを支援するエンバカデロのRADテクノロジー」
    • 【G2】テクニカルセッション「これが定番!RAD Studioで実践する既存システムのモダナイズ」
    • 【A3】Delphi/C++テクニカルセッション「既存のVCLアプリでもモバイル活用!簡単マルチデバイス連携術」
    • 【B3】テクニカルケーススタディ「Delphi 64bitで実現した大規模VR空間対応の新バージョン『UC-win/Road Ver.12』開発の道のり」
    • 【A4】Delphi/C++/InterBaseテクニカルセッション「基幹系だけじゃない!シーン別データベース活用術 - モバイル、デスクトップから多層、クラウドまで、コスト節約と性能実現のキモ」
    • 【B4】Delphiテクニカルセッション「Delphiで超高速OpenGL 2D/3D描画 - FireMonkey / VCLコンポーネントで驚きの性能実現」
    • 【A5】Delphiテクニカルセッション「クロスプラットフォーム開発で役立つDelphi新機能活用ポイント」
    • 【B5】Delphi / C++テクニカルセッション「プロジェクトが大きくなっても慌てない!RAD Studioチーム開発の心得」
    • 【G6】ライトニングトーク「共有!みんなの開発事例、開発経験、テクニック」
  • 第34回 エンバカデロ・デベロッパーキャンプ・イン大阪
    • 【T1】Delphiテクニカルセッション「知って得する!今日から使えるDelphi実践テクニック」
    • 【T2】Delphi/C++/InterBaseテクニカルセッション「データベースとデータアクセスを見直そう!シーン別データベース活用実践 - コスト節約と性能実現のキモ」
    • 【G3】ジェネラルセッション「モダナイゼーションを支援するエンバカデロのRADテクノロジー」
    • 【T4】テクニカルセッション「これが定番!RAD Studioで実践する既存システムのモダナイズ」
    • 【T5】Delphi/C++テクニカルセッション「既存アプリをマルチデバイス活用に進化!VCLからのモバイル連携3段活用」
    • 【G6】ライトニングトーク「共有!みんなの開発事例、開発経験、テクニック」

2017年7月19日

[書籍][ebook]Expert Delphi

Packt Publishingで注文した

Expert Delphi (amazon US, amazon JP)/Paweł Głowacki著/Packt Publishing/ISBN 9781786460165/49.99USD(Print+eBook)

が配送されてきました(今回の配送もDHL/佐川急便で、インドはチェンナイ(旧マドラス)からの発送でした)。2017/07/11に注文して8日目の到着、49.99USDから20% discountで40.00USD=4,576JPY4,676JPY(暫定、1USD=114.40JPY116.900JPY)でした。

2017年6月23日

[書籍]Effective Debugging

紀伊國屋書店新宿本店Effective Debugging (amazon US)の翻訳である

Effective Debugging (amazon)/Diomidis Spinellis著/黒川利明訳/大岩尚宏技術監修/オライリージャパン/ISBN 978-4-87311-799-7/3,456円

を購入。

[書籍]改訂新版 C#ポケットリファレンス

紀伊國屋書店新宿本店

[改訂新版]C#ポケットリファレンス (amazon)/WINGSプロジェクト、土井毅、髙江賢飯島聡著/山田祥寛監修/技術評論社/ISBN 978-4-7741-9030-3/2,851円

を購入。

RAD Studio/Delphi/C++Builder 10.2 Tokyo Android Compatibility Pack

RAD Studio/Delphi/C++Builder 10.2 TokyoのHotfixがリリースされています。以下の新しいバージョンのAndroid上でのテキストの入力の問題(10.1 Berlinでも発生)とレンダリングや性能上の問題(10.2 Tokyoで発生)を修正するとのことです。
30781 FireMonkey Android Compatibility Patch for RAD Studio 10.2
30782 Source code for FireMonkey Android Compatibility Patch

RAD Studio 10.2 向け FireMonkey の Android互換性 パッチ [JAPAN]

なおこのHotfixよりも先に30764 April 2017 RAD Studio 10.2 Hotfix for Toolchain Issuesをインストールする必要があるとのことです(30781を適用後に30764を適用した場合、再度30781を適用しなければならない)。

2017年5月31日

[書籍]Delphi in Depth: FireDAC

Amazon (US)で注文した

Delphi in Depth: FireDAC (CreateSpace, amazon US)/Cary Jensen著/CreateSpace/ISBN 978-1546391272/49.99USD

が配送されてきました(今回の発送地はアメリカ合衆国デラウェア州、配送はUPS i-parcel/佐川急便でした)。2017/05/19に注文して12日目の到着、Dependency Injection In Delphiと合わせてShipping & Handlingが10.97USDで計60.96USD=6,787JPY6,979JPY(暫定、1USD=111.33JPY1USD=114.479JPY)でした。

2017年5月12日

RAD Studio ロードマップ 2017/05

RAD Studioのロードマップの2017/05版が公開されています。

RAD Studio Roadmap May 2017
May 2017 Roadmap Commentary from Product Management

日本語訳もそのうち公開されると思われますが、注目点をいくつかピックアップしておきます。
  • RAD Studio 10.2.1 Tokyoは今年(2017年)半ばくらいにリリース、C++BuilderのLinux Serverサポートを追加
  • RAD Studio 10.2.2 Tokyoは2017年末くらいにリリース、AndroidのZ-オーダサポートとWindows 10/WinRT関係の更新、C++のリファクタリングでリネーム機能のサポートとコード補完、コードインサイトの強化といったあたり
  • RAD Studio 10.3 コードネーム "Carnival"は2018年で、FMXでAndroidのネイティブコントロールのサポート、LLDBの統合、C++17サポート、Delphiで64bit macOSのサポートの追加、DelphiでNullable型サポートや文法面の強化など
2017/05/19追記: 日本語訳が公開されました。

RAD Studioロードマップ(2017年5月付)

2017/05/22追記: コメントについても日本語訳が公開されています。

製品マネージャからの2017年5月付け製品ロードマップに関するコメント

2017年5月4日

RAD Studio/Delphi/C++Builder 10.2 Tokyo April 2017 Hotfix for Toolchain Issues

RAD Studio/Delphi/C++Builder 10.2 TokyoのHotfixがリリースされています。デバッガ、C++ RTL、Delphiコンパイラの以下の問題を修正するとのことです。
  • デバッガ
    • Android/Linuxで関数を評価するときに例外を投げたりaccess violationが起きるとデバッグ中のアプリケーションが終了してしまうことがある
    • AndroidでDelphi文字列に関係するいくつかの問題
    • Linuxでほかのユニットで定義されているインライン関数を展開したときに行番号情報がないためにデバッグできない
    • iOSとAndroidでレコード型の動的配列を評価しようとするとデバッガがクラッシュする(iOS)またはnilが表示される(Android)
    • Linuxでクラスデストラクタをデバッグしようとすると2つのブレークポイントが必要になることがある
  • C++ RTL
    • [RSP-16394] AV on exit after FreeLibrary: WindowsアプリケーションでLoadLibraryを使用して動的にライブラリをロードしていると終了時にaccess violationが発生することがある
    • scanfと関係するメソッド(_sのようなセキュリティ強化版を含む)の不具合で、出力バッファのサイズを超えて入力データで上書きされる
  • Delphiコンパイラ
    • C++ Windows x64アプリケーションにDelphiユニットを静的にリンクするとリソース文字列が破損する
    • [RSP-17138] Win64 compilation stuck at linking: Delphi Windows x64コンパイラが応答しなくなりCPUを100%使用した状態になることがある
30764 April 2017 RAD Studio 10.2 Hotfix for Toolchain Issues

April 2017 RAD Studio 10.2 Hotfix for Toolchain Issues
RAD Studio 10.2 Hotfix for Toolchain Issues リリース [JAPAN]

InterBase XE7 Update 7

InterBase XE7 Update 7がリリースされています。バージョンは12.0.7.384となっています。

30768 InterBase XE7 Update 7 (12.0.7.384) for Windows
30769 InterBase XE7 Update 7 (12.0.7.384) for Linux
30770 InterBase XE7 ToGo Edition (12.0.7.384), Win/OSX/iOS/Android

InterBase XE7 Update 7 Readme (en)
解決された不具合 (en)

InterBase XE7 Update 7 – now available

2017年4月17日

[書籍][ebook]プロフェッショナルSSL/TLS

Bulletproof SSL and TLS (amazon US)の翻訳である

プロフェッショナルSSL/TLS/Ivan Ristic著/齋藤孝道監訳/ラムダノート/ISBN 978-4-908686-00-9/5,399円(紙書籍+電子書籍(PDF))、4,860円(電子書籍(PDF)のみ)

を購入。PDFは購入後すぐにダウンロード可能、紙書籍は別途2017/05/10前後に配送(配送費別、540円)とのこと。

2017/05/11追記: 書籍版が配送されてきました(配送は佐川急便でした)。

2017年4月12日

Microsoft Monthly Update 2017/04

今日はMicrosoftのセキュリティアップデートの日です。
リリース ノート 2017 年 4 月のセキュリティ更新プログラム (en)
2017 年 4 月のセキュリティ更新プログラム (月例) – 日本のセキュリティチーム

今月からセキュリティ情報の公開は廃止されています。またWindows Vistaの延長サポートが終了となっています。

2017年4月10日

IDE Fix Pack 5.96/DDevExtensions 2.84 for RAD Studio/Delphi/C++Builder 10.2 Tokyo

Andreas HausladenさんIDE Fix PackがアップデートされてVersion 5.96となっています。RAD Studio/Delphi/C++Builder 10.2 Tokyo対応といくつかの修正が行われています。またDDevExtensions Version 2.84もRAD Studio/Delphi/C++Builder 10.2 Tokyo対応が行われています。

IDE Fix Pack 5.96, DDevExtensions, DFMCheck for Delphi 10.2 | Andy's Blog and Tools