紀伊國屋書店新宿本店でLearning SQL, 3rd Edition (Amazon US)の翻訳である
初めてのSQL 第3版 (Amazon)/Alan Beaulieu著、株式会社クイープ訳/オレイリージャパン/ISBN 978-4-87311-958-8/3,080円
を購入。
2021年7月8日
2021年7月7日
Microsoft OOB Update 2019/10
Microsoftから定例外のセキュリティアップデートがリリースされています。
Windows Print Spooler の脆弱性情報 (CVE-2021-34527) に対するセキュリティ更新プログラムの定例外での公開 – Microsoft Security Response Center
EOLとなっているWindows 7および現時点でアップデートが未リリースのWindows 10 version 1607、Windows Server 2012/2016については印刷スプーラ(Print Spooler)サービスを停止して無効にする(この場合印刷が一切できなくなる)か、グループポリシーで受信リモート印刷を無効にする(この場合リモートからローカルのプリンタに印刷できなくなるが、ローカルでの印刷は可能)かのいずれかの回避策を取ることを強くお勧めします。
CVE-2021-34527 - セキュリティ更新プログラム ガイド - Microsoft - Windows 印刷スプーラーのリモートでコードが実行される脆弱性
Windows Print Spooler の脆弱性情報 (CVE-2021-34527) に対するセキュリティ更新プログラムの定例外での公開 – Microsoft Security Response Center
EOLとなっているWindows 7および現時点でアップデートが未リリースのWindows 10 version 1607、Windows Server 2012/2016については印刷スプーラ(Print Spooler)サービスを停止して無効にする(この場合印刷が一切できなくなる)か、グループポリシーで受信リモート印刷を無効にする(この場合リモートからローカルのプリンタに印刷できなくなるが、ローカルでの印刷は可能)かのいずれかの回避策を取ることを強くお勧めします。
CVE-2021-34527 - セキュリティ更新プログラム ガイド - Microsoft - Windows 印刷スプーラーのリモートでコードが実行される脆弱性
2021年7月1日
2021年6月21日
[書籍]プログラミングC# 第8版
紀伊國屋書店新宿本店でProgramming C# 8.0 (Amazon US)の翻訳である
プログラミングC# 第8版 (Amazon)/Ian Griffiths著/木下哲也訳/鈴木幸敏技術監修/オレイリージャパン/ISBN 978-4-87311-936-6/5,280円
を購入。
プログラミングC# 第8版 (Amazon)/Ian Griffiths著/木下哲也訳/鈴木幸敏技術監修/オレイリージャパン/ISBN 978-4-87311-936-6/5,280円
を購入。
2021年6月9日
2021年6月1日
Firebird 4.0
Firebird 4.0がリリースされています。ODSバージョンは13になっています。
Firebird: Firebird 4.0 is released
Firebird: Firebird 4.0.0
Firebird 4.0 Release Notes (PDF)
Firebird: Firebird 4.0 is released
Firebird: Firebird 4.0.0
Firebird 4.0 Release Notes (PDF)
2021/06開催のセミナー
- Web Seminar
- 2021/06/10 23:00-24:00(JST) Delphi Low Code Wizard Webinar
- 2021/06/25 17:00-18:00(JST) エンバカデロ・デベロッパーTV
- Live Seminar
- Community Event
2021年5月12日
2021年5月5日
マイナーリリースを区別する新しい標準条件シンボル
Delphi Master Release List · ideasawakened/DelphiKB Wiki · GitHubを見ていて気が付いたのですが、いままで標準条件シンボルの定義やCONDITIONALEXPRESSIONSではできなかった、マイナーリリース間を区別する(たとえば10.4.1と10.4.2を見分ける)ための新しい標準条件シンボルがRAD Studio/Delphi/C++Builder 10.4.2 Sydneyで導入されたようです。
RAD Studio/Delphi/C++Builder 10.4.1 SydneyまではSystem.pasに
RAD Studio/Delphi/C++Builder 10.4.1 SydneyまではSystem.pasに
const
RTLVersion = 34.00;
{$HPPEMIT '#define RTLVersionC 3400'}
とRTLVersionが定義(34.0)されていたものが、10.4.2 Sydneyではconst
RTLVersion = 34.00; RTLVersion1041 = True; RTLVersion1042 = True;
{$HPPEMIT '#define RTLVersionC 3400'}
と、RTLVersion1041/RTLVersion1042(いずれもTrue)の定義が追加されています。10.4/10.4.1ではこれらの定義が存在せず、10.5でもどうなるのかがいまのところわかっていないので使用方法も判然としないのですが、とりあえず{$IF RTLVersion = 34.0}
{$IF RTLVersion1042}
Label1.Caption := 'Delphi 10.4.2.';
{$ELSE}
Label1.Caption := 'Delphi 10.4 or 10.4.1.';
{$ENDIF}
{$ELSE}
Label1.Caption := 'Not Delphi 10.4.x.';
{$IFEND}
こんな感じになるでしょうか。
2021年5月4日
RAD Studio/Delphi 10.4.2 RTL Patch
RAD Studio/Delphi 10.4.2 SydneyのRTL Patch 1.0がリリースされています。General Patch 1.0で不足していたRSP-33117の修正が行われます。
Delphi 10.4.2 RTL Patch
Delphi 10.4.2 RTL Patchのリリース
Delphi 10.4.2 RTL Patch
Delphi 10.4.2 RTL Patchのリリース
2021年5月1日
RAD Studio/Delphi/C++Builder 10.4.2 General/Delphi Compiler Patch
RAD Studio/Delphi/C++Builder 10.4.2 SydneyのGeneral Patch 1.0およびDelphi Compiler Patch 1.0がリリースされています。General Patch 1.0はデバッグおよびC++コンパイラ/リンカの問題(RSP-33406、RSP-33117、RSP-32951、RSP-32939、RSP-32043)を、Delphi Compiler Patch 1.0はDelphiのコンパイラおよびLSPの問題(RSP-33425、RSP-33232、RSP-32768)を修正します。
RAD Studio 10.4.2 General Patch
Delphi 10.4.2 Compiler Patch
RAD Studio 10.4.2のPatchのリリース: General PatchおよびDelphi Compiler Patch (en)
2021/05/02追記: General Patch 1.0にはRSP-33117が含まれておらず、この件に関しては別途パッチが再リリースされることになるとのことです。
2021/05/04追記: RSP-33117はRTL Patch 1.0で修正されました。
RAD Studio 10.4.2 General Patch
Delphi 10.4.2 Compiler Patch
RAD Studio 10.4.2のPatchのリリース: General PatchおよびDelphi Compiler Patch (en)
2021/05/02追記: General Patch 1.0にはRSP-33117が含まれておらず、この件に関しては別途パッチが再リリースされることになるとのことです。
2021/05/04追記: RSP-33117はRTL Patch 1.0で修正されました。
2021年4月29日
[書籍]Delphiで作るAndroidスマホアプリ
Amazon(JP)で注文した
Delphiで作るAndroidスマホアプリ (Amazon JP)/山菅昇一、山菅昇太郎著/インプレスR&D/ISBN 9784844379584/2,200円
が配送されてきました。
Delphiで作るAndroidスマホアプリ (Amazon JP)/山菅昇一、山菅昇太郎著/インプレスR&D/ISBN 9784844379584/2,200円
が配送されてきました。
2021年4月16日
[書籍]改訂第4版 C++ポケットリファレンス
紀伊國屋書店新宿本店でC++ポケットリファレンス、改訂新版 C++ポケットリファレンス、改訂第3版 C++ポケットリファレンスのC++20対応改訂版の
改訂第4版 C++ポケットリファレンス (amazon)/ 高橋晶、安藤敏彦、一戸優介、楠田真矢、湯朝剛介著/技術評論社/ISBN 978-4-297-11999-7/3,278円
を購入。
改訂第4版 C++ポケットリファレンス (amazon)/ 高橋晶、安藤敏彦、一戸優介、楠田真矢、湯朝剛介著/技術評論社/ISBN 978-4-297-11999-7/3,278円
を購入。
2021年4月14日
2021年4月1日
2021年3月16日
[書籍]Object Pascal Handbook Delphi 10.4 Sydney Edition
Amazon(JP)で注文した
Object Pascal Handbook Delphi 10.4 Sydney Edition (Amazon US, Amazon JP)/Marco Cantù著/ISBN 979-8554519963/5,606JPY(printed)
が配送されてきました。2021/03/14に注文して2日目の到着でした。
Object Pascal Handbook Delphi 10.4 Sydney Edition (Amazon US, Amazon JP)/Marco Cantù著/ISBN 979-8554519963/5,606JPY(printed)
が配送されてきました。2021/03/14に注文して2日目の到着でした。
2021年3月10日
2021年3月6日
const修飾されたインタフェース型の引数としてその場で生成したインスタンスをインタフェース型にキャストしないでそのまま渡すとリークする
Dalija PrasnikarさんのDelphi Event-based and Asynchronous Programmingをパラ見していて引っかかったのですが、タイトルを見ても何をいっているのかわからないと思うので、まずコードを。
これは、インタフェース型の引数がconst修飾されているとメソッド内部で仮引数が変更されないことが保証されているため、仮引数にコピーしたことによる参照カウントの管理を行わない最適化が行われるのに対して、前者のコードでは呼び出し元で生成したインスタンスが(インタフェース型ではなく)クラス型としてしか管理されていないため、やはり参照カウントの管理を受けずに、リークしてしまう、ということのようです。しかし後者ではas IFooとキャストしたことでIFoo型の暗黙のローカル変数が用意され、これによって参照カウントによって正常に解放されます。
メソッド内部で仮引数を別のインタフェース型の変数やフィールドにコピーすると参照カウントの管理が行われて適切に解放が行われますが、これは実装に依存しますし、また引数をconst修飾していなければ大丈夫ですが、既存の実装の変更が必要になる、ということが問題になります。
このためconst修飾されたインタフェース型の引数としてその場で生成したインスタンスを渡す場合はインタフェース型にキャストするか、あるいは
元ねたはもちろんDalija PrasnikarさんのDelphi Event-based and Asynchronous Programmingの"13.4 In-place construction in a const parameter"。
type
IFoo = interface
procedure FooBar;
end;
TFoo = class(TInterfacedObject,IFoo)
public
procedure FooBar;
end;
TBar = class(TObject)
public
procedure Baz(const AFoo: IFoo);
end;
procedure TFoo.FooBar;
begin
// Do something.
end;
procedure TBar.Baz(const AFoo: IFoo);
begin
AFoo.FooBar;
end;
インタフェースとしてIFooと、その実装としてクラスTFooを用意し、クラスTBarにはconst修飾されたIFooを渡すBazというメソッドがあります。ここでvar
Bar: TBar;
begin
Bar := TBar.Create;
Bar.Baz(TFoo.Create);
Bar.Free;
end;
とTBar.BazにTFoo.Createで生成したインスタンスを直接渡すと、TFooはIFooとしての参照カウントの制御を受けず、リークしてしまいます。一方でvar
Bar: TBar;
begin
Bar := TBar.Create;
Bar.Baz(TFoo.Create as IFoo);
Bar.Free;
end;
とIFooにキャストしたものを渡すとリークしなくなります。これは、インタフェース型の引数がconst修飾されているとメソッド内部で仮引数が変更されないことが保証されているため、仮引数にコピーしたことによる参照カウントの管理を行わない最適化が行われるのに対して、前者のコードでは呼び出し元で生成したインスタンスが(インタフェース型ではなく)クラス型としてしか管理されていないため、やはり参照カウントの管理を受けずに、リークしてしまう、ということのようです。しかし後者ではas IFooとキャストしたことでIFoo型の暗黙のローカル変数が用意され、これによって参照カウントによって正常に解放されます。
メソッド内部で仮引数を別のインタフェース型の変数やフィールドにコピーすると参照カウントの管理が行われて適切に解放が行われますが、これは実装に依存しますし、また引数をconst修飾していなければ大丈夫ですが、既存の実装の変更が必要になる、ということが問題になります。
このためconst修飾されたインタフェース型の引数としてその場で生成したインスタンスを渡す場合はインタフェース型にキャストするか、あるいは
type
TFoo = class(TInterfacedObject,IFoo)
public
class function CreateAsIntf: IFoo;
procedure FooBar;
end;
class function TFoo.CreateAsIntf: IFoo;
begin
Result := TFoo.Create;
end;
var
Bar: TBar;
begin
Bar := TBar.Create;
Bar.Baz(TFoo.CreateAsIntf);
Bar.Free;
end;
このように生成したインスタンスをインタフェースとして返すようなメソッドを用意して、そちらを経由するか、ということになります。元ねたはもちろんDalija PrasnikarさんのDelphi Event-based and Asynchronous Programmingの"13.4 In-place construction in a const parameter"。
2021年3月1日
2021/03開催のセミナー
- Web Seminar
- 2021/03/19 17:00-18:00(JST) エンバカデロ・デベロッパーTV「帰ってきたデベロッパーTV」
- Live Seminar
- Community Event
2021年2月26日
2021年2月25日
RAD Studio/Delphi/C++Builder 10.4 Sydney Release 2 (10.4.2)
RAD Studio/Delphi/C++Builder 10.4 SydneyのRelease 2 (10.4.2)がリリースされています。インストールには有効なUpdate Subscriptionが必要です。Registered Products Portalからダウンロードできます。
ISO for RAD Studio, Delphi, C++Builder 10.4.2
Web Installer for RAD Studio, Delphi, C++Builder 10.4.2
10.4 Sydney - Release 2 (en)
RAD Studio 10.4.2 における新機能と修正された顧客から報告された問題 (en)
List of publicly reported bugs fixed in 10.4.2
RAD Studio 10.4.2 Sydney Release 2の提供開始を発表 (en) RAD Studio 10.4の新機能 (en)
RAD Studio 10.4.2で提供される2つの新しいVCLコントロール RAD Studio 10.4.2で提供される2つの新しいVCLコントロール (en)
RAD Studio 10.4.2で新しく導入されたインストールプロセスの自動化を容易にするサイレントインストーラ (docwiki(ja), en)
RAD Studio 10.4.2の新機能: Windowsストアのパッケージングをより簡単にするMSIXのサポート (docwiki(ja))
C++Builder 10.4.2の改良点: Split DWARFによるリンカのメモリ使用量の削減 (docwiki(ja))
Delphi 10.4.2 コンパイラ速度の改善 (en)
RAD Studio 10.4.2: IDEの機能改善
C++Builder 10.4.2のオープンソースC++ライブラリ (en)
C++Builder 10.4.2での堅牢な例外処理 (en)
リンカの支援:C++Builder 10.4.2でのDWARFとリンカのメモリ使用量の分割 (docwiki(ja), en)
RAD Studio 10.4/10.4.1からGetItを利用して10.4.2をダウンロードし、インストールする方法 (en)
Delphi 10.4.2におけるCode Insightの改善 (en)
ISO for RAD Studio, Delphi, C++Builder 10.4.2
Web Installer for RAD Studio, Delphi, C++Builder 10.4.2
10.4 Sydney - Release 2 (en)
RAD Studio 10.4.2 における新機能と修正された顧客から報告された問題 (en)
List of publicly reported bugs fixed in 10.4.2
RAD Studio 10.4.2 Sydney Release 2の提供開始を発表 (en) RAD Studio 10.4の新機能 (en)
RAD Studio 10.4.2で提供される2つの新しいVCLコントロール RAD Studio 10.4.2で提供される2つの新しいVCLコントロール (en)
RAD Studio 10.4.2で新しく導入されたインストールプロセスの自動化を容易にするサイレントインストーラ (docwiki(ja), en)
RAD Studio 10.4.2の新機能: Windowsストアのパッケージングをより簡単にするMSIXのサポート (docwiki(ja))
C++Builder 10.4.2の改良点: Split DWARFによるリンカのメモリ使用量の削減 (docwiki(ja))
Delphi 10.4.2 コンパイラ速度の改善 (en)
RAD Studio 10.4.2: IDEの機能改善
C++Builder 10.4.2のオープンソースC++ライブラリ (en)
C++Builder 10.4.2での堅牢な例外処理 (en)
リンカの支援:C++Builder 10.4.2でのDWARFとリンカのメモリ使用量の分割 (docwiki(ja), en)
RAD Studio 10.4/10.4.1からGetItを利用して10.4.2をダウンロードし、インストールする方法 (en)
Delphi 10.4.2におけるCode Insightの改善 (en)
2021年2月23日
[書籍]Delphi Event-based and Asynchronous Programming
Amazon(JP)で注文した
Delphi Event-based and Asynchronous Programming (Amazon US, Amazon JP)/Dalija Prasnikar、Neven Prasnikar Jr.著/FastSpring/ISBN 979-8705971688/4,869JPY(printed)
が配送されてきました。2021/02/21に注文して2日目の到着でした(おそらく日本国内でのprint on demandだと思われます)。
Delphi Event-based and Asynchronous Programming (Amazon US, Amazon JP)/Dalija Prasnikar、Neven Prasnikar Jr.著/FastSpring/ISBN 979-8705971688/4,869JPY(printed)
が配送されてきました。2021/02/21に注文して2日目の到着でした(おそらく日本国内でのprint on demandだと思われます)。
2021年2月10日
2021年2月8日
DDevExtensions 2.87
Andreas HausladenさんのDDevExtensionsですが、GitHubでホストされています。オリジナルのリポジトリは
ahausladen/DDevExtensions: Delphi IDE Plugin
ですが、Delphi/C++Builder 10.4 Sydneyの対応は
DelphiPraxis/DDevExtensions: Delphi IDE Plugin
こちらのフォークからリリースされています。
Release DDevExtensions v2.87 Delphi 10.4 · DelphiPraxis/DDevExtensions
ahausladen/DDevExtensions: Delphi IDE Plugin
ですが、Delphi/C++Builder 10.4 Sydneyの対応は
DelphiPraxis/DDevExtensions: Delphi IDE Plugin
こちらのフォークからリリースされています。
Release DDevExtensions v2.87 Delphi 10.4 · DelphiPraxis/DDevExtensions
2021年2月1日
2021年1月13日
2021年1月8日
[書籍]初めてのマルウェア解析
紀伊國屋書店新宿本店でLearning Malware Analysis (Amazon US)の翻訳である
初めてのマルウェア解析 (Amazon)/Monnappa K A著/石川朝久訳/北原憲、中津留勇技術監修/オライリージャパン/ISBN 978-4-87311-929-8/4,400円
を購入。
初めてのマルウェア解析 (Amazon)/Monnappa K A著/石川朝久訳/北原憲、中津留勇技術監修/オライリージャパン/ISBN 978-4-87311-929-8/4,400円
を購入。
2021年1月1日
2020年12月18日
RAD Studio/Delphi/C++Builder 10.4.1 Sydney Apple Platforms Patch (December update)
RAD Studio/Delphi/C++Builder 10.4.1 SydneyのApple Platforms Patchのアップデートがリリースされています。2020/11/25にリリースされたApple Platforms Patchの更新で、さらにiOSターゲットでClientDataSetコンポーネントがリンクエラーになる問題(RSP-31795)、iOS SDK上のC++のいくつかの問題、iOS 14でビルドすると"unknown type name __UINTPTR_TYPE__"でエラーになる問題、iOS 14 SDKでビルドすると"invalid node: this may result from using a map iterator as a sequence iterator, or vice-versa"エラーまたはリンカエラーになる問題(RSP-31014)、DBXを参照しているとリンカエラーになる問題が修正されています。
RAD Studio 10.4.1 Apple Platforms Patch (December update)
RAD Studio 10.4.1向けPatch: Appleプラットフォームの修正(12月更新版) (en)
RAD Studio 10.4.1 Apple Platforms Patch (December update)
RAD Studio 10.4.1向けPatch: Appleプラットフォームの修正(12月更新版) (en)
2020年12月9日
2020年12月2日
[書籍]達人プログラマー(第2版)
紀伊國屋書店新宿本店でThe Pragmatic Programmer, 20th Anniversary Edition (Amazon US)の翻訳である
達人プログラマー(第2版) (Amazon)/David Thomas、Andrew Hunt著/村上雅章訳/オーム社/ISBN 978-4-274-22629-8/3,520円
を購入。
達人プログラマー(第2版) (Amazon)/David Thomas、Andrew Hunt著/村上雅章訳/オーム社/ISBN 978-4-274-22629-8/3,520円
を購入。
2020年12月1日
2020年11月25日
RAD Studio/Delphi/C++Builder 10.4.1 Sydney Apple Platforms Patch
RAD Studio/Delphi/C++Builder 10.4.1 SydneyのApple Platforms Patchがリリースされています。macOS 11.0 Big Sur上での例外送出時および終了時の問題(RSP-30000)の修正と、PAServerでXCode 12からのSDKインポート、iOS 14デバイスでのデバッグ実行のサポート(RSP-30806、RSP-31014、RSP-31667、RSP-31049)が追加されています。現時点(2020/11/25)ではIDEのGetItパッケージマネージャからのみ適用できます。Registered Products Portalからダウンロードできるようになりました。
RAD Studio 10.4.1向けPatch: Appleプラットフォームの修正 (en)
RAD Studio 10.4.1向けPatch: Appleプラットフォームの修正 (en)
2020年11月18日
RAD Studio ロードマップ 2020/11
RAD Studio/Delphi/C++Builderのロードマップが更新されています。
RAD Studio 2020年11月付ロードマップ (en)
RAD Studio 2020年11月付ロードマップのPM解説 (en)
次期アップデートとなる10.4.2(2021/1H)と次期メジャーリリースの10.5(2021/2H)が予告されています。
また後で雑にまとめます(たぶん)。
RAD Studio 2020年11月付ロードマップ (en)
RAD Studio 2020年11月付ロードマップのPM解説 (en)
次期アップデートとなる10.4.2(2021/1H)と次期メジャーリリースの10.5(2021/2H)が予告されています。
また後で雑にまとめます(たぶん)。
Category:
Around Delphi,
Delphi 10.4 Sydney,
Delphi 11 Alexandria,
Embarcadero
at
13:08:00
0
Comments
2020年11月17日
[書籍][eBook]Delphi GUI Programming with FireMonkey
Packt Publishingで注文した
Delphi GUI Programming with FireMonkey (Amazon US, Amazon JP)/Andrea Magni著/Packt Publishing/ISBN 9781788624176/49.99USD(printed+ebook)
が配送されてきました(今回の配送もDHL/佐川急便で、インドのチェンナイからの発送でした)。2020/10/31に注文して17日目の到着、49.99USD=5,232JPY5,350JPY(1USD=104.66JPY、暫定107.022JPY)でした。
Delphi GUI Programming with FireMonkey (Amazon US, Amazon JP)/Andrea Magni著/Packt Publishing/ISBN 9781788624176/49.99USD(printed+ebook)
が配送されてきました(今回の配送もDHL/佐川急便で、インドのチェンナイからの発送でした)。2020/10/31に注文して17日目の到着、49.99USD=
2020年11月11日
Windows 7 SP1上のRAD Studio 10.4.1 SydneyでGetItパッケージマネージャがサーバに接続できないときの対処
RAD Studio/Delphi/C++Builder 10.4はWindows 7上での動作はサポートされていませんが、実際には概ね動作します(インストール時には警告されます)。しかし昨日リリースされた10.4.1のCompiler and LSP Hotfixを取り込もうとしてGetItパッケージマネージャを呼び出すと、接続エラーとなってしまいます。まず最初に疑うのはオフラインでインストールしたときにGetItがオフラインモードのままになっているという件ですが、今回はこれとは違うようです。そこでIDERAのコミュニティを見ると、同様の報告がいくつもあり、その中の
GetIT Package Manager 10.4 is not working?
でJohn C7598さんが、Windows 7で以前同じような問題がありMicrosoftのKB3140245
WinHTTP が Windows での既定のセキュリティで保護されたプロトコルとして TLS 1.1 および TLS 1.2 を有効にする更新プログラム
で解決した、とのことでした。そこでこれに従ってデフォルトのセキュアプロトコルとしてTLS 1.1/1.2を有効にしたところ、正常に接続できるようになったので、手順をまとめておきます。
GetIT Package Manager 10.4 is not working?
でJohn C7598さんが、Windows 7で以前同じような問題がありMicrosoftのKB3140245
WinHTTP が Windows での既定のセキュリティで保護されたプロトコルとして TLS 1.1 および TLS 1.2 を有効にする更新プログラム
で解決した、とのことでした。そこでこれに従ってデフォルトのセキュアプロトコルとしてTLS 1.1/1.2を有効にしたところ、正常に接続できるようになったので、手順をまとめておきます。
- C:\Windows\System32にあるWinhttp.dllのバージョンが6.1.7601.23375以降であることを確認します(必要に応じて更新プログラムを適用)。
- レジストリキー HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp (x86/x64) および HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp (x64のみ)にDWORD値 DefaultSecureProtocols を作成し、16進値A80(10進値2688)を設定する。
- レジストリキー HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client および HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client にDWORD値 DisabledByDefault を作成し、16進値0(10進値0)を設定する。
2020年11月10日
RAD Studio/Delphi/C++Builder 10.4.1 Sydney Compiler and LSP Hotfix
RAD Studio/Delphi/C++Builder 10.4.1 SydneyのCompiler and LSP Hotfixがリリースされています。特定のアライメントのデータレイアウトに関する2件の問題(RSP-30890、RSP-30787)および再コンパイル時のパフォーマンスに関する3件の問題(RSP-22074、RSP-30714、RSP-30627)を修正します。Ent SKUを含めすべてのSKU向けのもの(General)と、Ent SKU以上のみのもの(Linux)の2つのhotfixがあるので注意が必要です(適用はどちらが先でも構わないようです)。現時点(2020/11/10)ではIDEのGetItパッケージマネージャからのみ適用できます。Registered Products Portalからダウンロードできるようになりました。
RAD Studio 10.4.1 Delphi Compiler and Code Completion Patch
RAD Studio 10.4.1 Delphi Compiler and Code Completion Patch for Linux
RAD Studio10.4.1向けPatch:DelphiコンパイラとLSPの修正 (en)
RAD Studio 10.4.1 Delphi Compiler and Code Completion Patch
RAD Studio 10.4.1 Delphi Compiler and Code Completion Patch for Linux
RAD Studio10.4.1向けPatch:DelphiコンパイラとLSPの修正 (en)
2020年11月1日
2020年10月29日
[書籍]Code Faster in Delphi
Amazon(JP)で注文した
Code Faster in Delphi (Amazon US, Amazon JP)/Alister Christie著/Leanpub/ISBN 979-8686719118/4,065JPY(printed)
が配送されてきました。2020/10/21に注文して9日目の到着でした。
Code Faster in Delphi (Amazon US, Amazon JP)/Alister Christie著/Leanpub/ISBN 979-8686719118/4,065JPY(printed)
が配送されてきました。2020/10/21に注文して9日目の到着でした。
2020年10月21日
Firebird 3.0.7
Firebird 3.0.7がリリースされています。
Firebird: Firebird 3.0.7
Firebird 3.0.7 Release Notes (PDF)
Version 3.0.6ユーザは3.0.7に移行することを強く推奨するとのことです。またメモリ同期の互換性が失われたため、同一のホスト上で3.0.6と3.0.7を混在させて動作させると問題が発生する可能性があるとのことです。
Firebird: Firebird 3.0.7
Firebird 3.0.7 Release Notes (PDF)
Version 3.0.6ユーザは3.0.7に移行することを強く推奨するとのことです。またメモリ同期の互換性が失われたため、同一のホスト上で3.0.6と3.0.7を混在させて動作させると問題が発生する可能性があるとのことです。
2020年10月16日
[書籍]暗号技術 実践活用ガイド
紀伊國屋書店新宿本店でSerious Cryptography (Amazon US)の翻訳である
暗号技術 実践活用ガイド (Amazon)/Jean-Philippe Aumasson著/Smoky訳/IPUSIRON監訳/マイナビ出版/ISBN 978-4-8399-6825-0/3,982円
を購入。
暗号技術 実践活用ガイド (Amazon)/Jean-Philippe Aumasson著/Smoky訳/IPUSIRON監訳/マイナビ出版/ISBN 978-4-8399-6825-0/3,982円
を購入。
2020年10月14日
2020年10月6日
RAD Studio/C++Builder 10.4.1 Sydney Patch 1
RAD Studio/C++Builder 10.4.1 SydneyのPatch 1がリリースされています。C++BuilderでIDEで生成したイベントハンドラがそこに要求されるものと互換性がない場合がある問題(RSP-29734)を修正します。現時点(2020/10/06)でポータルサイトやGetIt webポータル https://getitnow.embarcadero.com/にはアップロードされておらず、IDEのGetItパッケージマネージャからのみ適用可能です。Registered Products Portalからダウンロードできます。
10.4.1 Patch 1 (C++Builder)
C++Builder10.4.1向けのPatch:イベントハンドラ生成で生じる問題の修正 (en)
10.4.1 Patch 1 (C++Builder)
C++Builder10.4.1向けのPatch:イベントハンドラ生成で生じる問題の修正 (en)
2020年10月1日
2020年9月9日
Microsoft Monthly Update 2020/09
今日はMicrosoftのセキュリティアップデートの日です。
リリース ノート 2020 年 9 月のセキュリティ更新プログラム
2020 年 9 月のセキュリティ更新プログラム (月例) - Microsoft Security Response Center
リリース ノート 2020 年 9 月のセキュリティ更新プログラム
2020 年 9 月のセキュリティ更新プログラム (月例) - Microsoft Security Response Center
2020年9月3日
RAD Studio/Delphi/C++Builder 10.4 Sydney Release 1 (10.4.1)
RAD Studio/Delphi/C++Builder 10.4 SydneyのRelease 1 (10.4.1)がリリースされています。インストールには有効なUpdate Subscriptionが必要です。現時点(2020/09/03)ではRegistered Products Portalからのみダウンロードできます。
RAD Studio, Delphi, C++Builder 10.4.1 Web Install
RAD Studio, Delphi, C++Builder 10.4.1 ISO
10.4 Sydney - Release 1 (en)
RAD Studio 10.4.1 における新機能と修正された顧客から報告された問題 (en)
List of publicly reported bugs fixed in 10.4.1
RAD Studio 10.4.1リリース (en)
10.4.1の新機能: Delphi Code Insight (LSP)の改善 (en)
10.4.1の新機能: 新しいTLightweightMREW レコード (en)
10.4.1 での IDE プラグインの注意点 (en)
C++ GMアップデート:10.4および10.4.1におけるC++品質へのフォーカス (en)
RAD Studio 10.4.1のIDE新機能 (en)
10.4.xでdbExpressの構成ファイルが欠損している問題の対処 (en)
RAD Studio 10.4.1で変更されたiOSアプリの通知機能
RAD Studio, Delphi, C++Builder 10.4.1 Web Install
RAD Studio, Delphi, C++Builder 10.4.1 ISO
10.4 Sydney - Release 1 (en)
RAD Studio 10.4.1 における新機能と修正された顧客から報告された問題 (en)
List of publicly reported bugs fixed in 10.4.1
RAD Studio 10.4.1リリース (en)
10.4.1の新機能: Delphi Code Insight (LSP)の改善 (en)
10.4.1の新機能: 新しいTLightweightMREW レコード (en)
10.4.1 での IDE プラグインの注意点 (en)
C++ GMアップデート:10.4および10.4.1におけるC++品質へのフォーカス (en)
RAD Studio 10.4.1のIDE新機能 (en)
10.4.xでdbExpressの構成ファイルが欠損している問題の対処 (en)
RAD Studio 10.4.1で変更されたiOSアプリの通知機能
2020年9月1日
2020年8月21日
[書籍]Delphi Quick Syntax Reference
Amazon(JP)で注文した
Delphi Quick Syntax Reference (Amazon US, Amazon JP)/John Kouraklis著/Apress/ISBN 978-1-4842-6112-5/4,009JPY(printed)
が配送されてきました。2020/08/19に注文して3日目の到着でした。
Delphi Quick Syntax Reference (Amazon US, Amazon JP)/John Kouraklis著/Apress/ISBN 978-1-4842-6112-5/4,009JPY(printed)
が配送されてきました。2020/08/19に注文して3日目の到着でした。
2020年8月12日
Microsoft Monthly Update 2020/08
今日はMicrosoftのセキュリティアップデートの日です。
リリース ノート 2020 年 8 月のセキュリティ更新プログラム
2020 年 8 月のセキュリティ更新プログラム (月例) - Microsoft Security Response Center
リリース ノート 2020 年 8 月のセキュリティ更新プログラム
2020 年 8 月のセキュリティ更新プログラム (月例) - Microsoft Security Response Center
2020年8月1日
2020年7月29日
RAD Studio/Delphi/C++Builder 10.4 Sydney Patch 3
RAD Studio/Delphi/C++Builder 10.4 SydneyのPatch 3がリリースされています。Patch 1/2同様、GetItからダウンロードできます(が、インストールは手動です)。事前にPatch 1、Patch 2を適用しておく必要があります。
30933 RAD Studio 10.4 Patch 3
ポータルサイトからもダウンロードできます。
10.4 Patch 3
RAD Studio 10.4 Patch 3が公開されました (en)
30933 RAD Studio 10.4 Patch 3
ポータルサイトからもダウンロードできます。
10.4 Patch 3
RAD Studio 10.4 Patch 3が公開されました (en)
2020年7月25日
InterBase 2017 Update 4
InterBase 2017 Update 4がリリースされています。バージョンは13.4.0.346となっています。いくつかの不具合の修正が行われています。
30932 InterBase 2017 Update 4 (13.4.0.346) for Windows
30931 InterBase 2017 Update 4 (13.4.0.346) for Linux and macOS
30930 InterBase 2017 Server Ed., Win/Linux/macOS (13.4.0.346, English)
30929 InterBase 2017 Server Ed, Win/Linux/macOS (13.4.0.346, Japanese)
30928 InterBase 2017 ToGo Ed. (13.4.0.346) Win/Linux/macOS/iOS/Android
InterBase 2017 Update 4 Readme - InterBase (en)
解決された不具合 (en)
2021/10/01追記: いつの間にかHotfix 1がリリースされていたようです(2020/10)。バージョンは13.4.0.350となっています。
30932 InterBase 2017 Update 4 (13.4.0.346) for Windows
30931 InterBase 2017 Update 4 (13.4.0.346) for Linux and macOS
30930 InterBase 2017 Server Ed., Win/Linux/macOS (13.4.0.346, English)
30929 InterBase 2017 Server Ed, Win/Linux/macOS (13.4.0.346, Japanese)
30928 InterBase 2017 ToGo Ed. (13.4.0.346) Win/Linux/macOS/iOS/Android
InterBase 2017 Update 4 Readme - InterBase (en)
解決された不具合 (en)
2021/10/01追記: いつの間にかHotfix 1がリリースされていたようです(2020/10)。バージョンは13.4.0.350となっています。
2020年7月18日
RAD Studio/Delphi/C++Builder 10.4 Sydney Patch 2
RAD Studio/Delphi/C++Builder 10.4 SydneyのPatch 2がリリースされています。Patch 1同様、GetItからダウンロードできます(が、インストールは手動です)。事前にPatch 1を適用しておく必要があります。
30925 10.4 Patch 2 (Professional)
30926 10.4 Patch 2 (C++Builder Enterprise)
30927 10.4 Patch 2 (Delphi and RAD Enterprise)
またポータルサイトからもダウンロードできます。
10.4 Patch 2 (Professional)
10.4 Patch 2 (C++Builder Enterprise)
10.4 Patch 2 (Delphi and RAD Enterprise)
RAD Studio 10.4 のPatch 2 が公開されました (en)
10.4 Patch 2: デバッグ時にIDEの動作が不安定になる問題の修正 (en)
10.4 Patch 2: Delphiのコード補完とIDEの修正 (en)
Revised: 10.4 Patch and C++ Android Exception Handling
10.4 Patch 2 インストールガイド (en)
30925 10.4 Patch 2 (Professional)
30926 10.4 Patch 2 (C++Builder Enterprise)
30927 10.4 Patch 2 (Delphi and RAD Enterprise)
またポータルサイトからもダウンロードできます。
10.4 Patch 2 (Professional)
10.4 Patch 2 (C++Builder Enterprise)
10.4 Patch 2 (Delphi and RAD Enterprise)
RAD Studio 10.4 のPatch 2 が公開されました (en)
10.4 Patch 2: デバッグ時にIDEの動作が不安定になる問題の修正 (en)
10.4 Patch 2: Delphiのコード補完とIDEの修正 (en)
Revised: 10.4 Patch and C++ Android Exception Handling
10.4 Patch 2 インストールガイド (en)
2020年7月15日
Microsoft Monthly Update 2020/07
今日はMicrosoftのセキュリティアップデートの日です。
リリース ノート 2020 年 7 月のセキュリティ更新プログラム
2020 年 7 月のセキュリティ更新プログラム (月例) - Microsoft Security Response Center
リリース ノート 2020 年 7 月のセキュリティ更新プログラム
2020 年 7 月のセキュリティ更新プログラム (月例) - Microsoft Security Response Center
2020年7月1日
2020年6月28日
2020年6月10日
Microsoft Monthly Update 2020/06
今日はMicrosoftのセキュリティアップデートの日です。
リリース ノート 2020 年 6 月のセキュリティ更新プログラム
2020 年 6 月のセキュリティ更新プログラム (月例) - Microsoft Security Response Center
リリース ノート 2020 年 6 月のセキュリティ更新プログラム
2020 年 6 月のセキュリティ更新プログラム (月例) - Microsoft Security Response Center
2020年6月1日
2020年5月31日
DDevExtensions 2.86
Andreas HausladenさんのDDevExtensionsがアップデートされてVersion 2.86になっています。RAD Studio 10.4 Sydney対応ではなく、TListViewのOwnerDataの問題を修正して、"Find Unit" replacement dialogのパフォーマンスが向上したとのことです。
DDevExtensions 2.86 for Delphi 2009-10.3.3 – Andy's Blog and Tools
DDevExtensions 2.86 for Delphi 2009-10.3.3 – Andy's Blog and Tools
2020年5月27日
RAD Studio/Delphi/C++Builder 10.4 Sydneyリリース
RAD Studio/Delphi/C++Builder 10.4 Sydneyがリリースされています。
30921 RAD Studio, Delphi, C++Builder 10.4 Web Install
30922 RAD Studio, Delphi, C++Builder 10.4 ISO
30923 RAD Studio 10.4 Patch 1
ポータルサイトからもダウンロード可能です(BDEはポータルサイトのみ)。またPatch 1はGetIt経由でインストールできます。
RAD Studio, Delphi, C++Builder 10.4 Web Install
RAD Studio, Delphi, C++Builder 10.4 ISO
RAD Studio 10.4 Patch 1
BDE for RAD Studio 10.4
Webインストールした場合は以下のコマンドラインでオンラインモードに切り替えないと、GetItパッケージマネージャからの各種パッケージのインストールに失敗するとのことです(やましょうさん、DEKOさん、情報ありがとうございます)。
RAD Studio Sydney ヘルプ (en)
リリース ノート (en)
インストール ノート (en)
新機能 (en)
RAD Studio 10.4 における新機能と修正された顧客から報告された問題 (en)
List of publicly reported bugs fixed in 10.4
注: 上記のヘルプ、リリースノート、インストールノートの日本語訳は不正確な(10.3 Rioのものがそのままになっている)部分があるようです。必要に応じて英語のものを参照することをお勧めします。
Delphi 10.4 Sydney is Available
RAD Studio 10.4 Now Available, Learn More
Delphi 10.4の新機能: Code Insightの再設計 (en)
Delphi 10.4の新機能: カスタム マネージド レコード (en)
RAD Studio 10.4の新機能: 新しいVCL TEdgeBrowserコンポーネント (en)
RAD Studio 10.4の新機能: VCLのコントロールごとのスタイル設定 (en)
RAD Studio 10.4の新機能: GetItパッケージマネージャーの改善 (en)
C++Builder 10.4の新機能: Win64 C++向けの新しいデバッガ (en)
Delphi 10.4におけるランタイムライブラリの強化 (en)
RAD Studio 10.4 では過去最多の問題数が修正されました (en)
RAD Studio 10.4 Patch 1: ファイルと C++ デバッグの欠落 - パッチをインストールする新しい方法も! (en)
RAD Studio Sample GitHub Repository の設定の問題があり、修正されました。 (en)
RAD Studio 10.4でデバッグ時に予期しないポップアップウィンドウが表示される症状の回避策について (en)
iOS AppStoreの1024x1024アイコン問題の回避策 (en)
RAD Studio 10.4 で変更されたFireDACトランザクション分離レベルの設定 (en)
インストール時に気を付けることがいくつかあるようです。
30921 RAD Studio, Delphi, C++Builder 10.4 Web Install
30922 RAD Studio, Delphi, C++Builder 10.4 ISO
30923 RAD Studio 10.4 Patch 1
ポータルサイトからもダウンロード可能です(BDEはポータルサイトのみ)。またPatch 1はGetIt経由でインストールできます。
RAD Studio, Delphi, C++Builder 10.4 Web Install
RAD Studio, Delphi, C++Builder 10.4 ISO
RAD Studio 10.4 Patch 1
BDE for RAD Studio 10.4
Webインストールした場合は以下のコマンドラインでオンラインモードに切り替えないと、GetItパッケージマネージャからの各種パッケージのインストールに失敗するとのことです(やましょうさん、DEKOさん、情報ありがとうございます)。
GetItCmd.exe -c=useonlineRAD Studio Sydney ヘルプ (en)
リリース ノート (en)
インストール ノート (en)
新機能 (en)
RAD Studio 10.4 における新機能と修正された顧客から報告された問題 (en)
List of publicly reported bugs fixed in 10.4
注: 上記のヘルプ、リリースノート、インストールノートの日本語訳は不正確な(10.3 Rioのものがそのままになっている)部分があるようです。必要に応じて英語のものを参照することをお勧めします。
Delphi 10.4 Sydney is Available
RAD Studio 10.4 Now Available, Learn More
Delphi 10.4の新機能: Code Insightの再設計 (en)
Delphi 10.4の新機能: カスタム マネージド レコード (en)
RAD Studio 10.4の新機能: 新しいVCL TEdgeBrowserコンポーネント (en)
RAD Studio 10.4の新機能: VCLのコントロールごとのスタイル設定 (en)
RAD Studio 10.4の新機能: GetItパッケージマネージャーの改善 (en)
C++Builder 10.4の新機能: Win64 C++向けの新しいデバッガ (en)
Delphi 10.4におけるランタイムライブラリの強化 (en)
RAD Studio 10.4 では過去最多の問題数が修正されました (en)
RAD Studio 10.4 Patch 1: ファイルと C++ デバッグの欠落 - パッチをインストールする新しい方法も! (en)
RAD Studio Sample GitHub Repository の設定の問題があり、修正されました。 (en)
RAD Studio 10.4でデバッグ時に予期しないポップアップウィンドウが表示される症状の回避策について (en)
iOS AppStoreの1024x1024アイコン問題の回避策 (en)
RAD Studio 10.4 で変更されたFireDACトランザクション分離レベルの設定 (en)
インストール時に気を付けることがいくつかあるようです。
- C++BuilderでAndroid開発を行うときはstring.hヘッダファイルに手動でパッチをあてる
- 10.3.xおよびそれ以前の既存のAndroidプロジェクトを移行するときはプロジェクトフォルダに存在するAndroidManifest.template.xmlファイルを削除し、IDEに再生成させる
- 10.3.xおよびそれ以前の既存のOSプロジェクトを移行するときはプロジェクトフォルダに存在するinfo.plist.TemplateiOS.xmlファイルを削除する
- DelphiでLinux開発を行うときはオフラインインストーラがDelphi/64bit Linuxの参照パスを正しく設定しないので手動で設定する
- C++BuilderでWindows開発を行うときはオフラインインストーラがC++Builder/32bit Windowsの参照パスを正しく設定しないので手動で設定する
2020年5月19日
新サポートナレッジベースサイト公開
先日の新ポータルサイトに続いて、サポートナレッジベースサイトとなるSupport Wikiが公開されています。
Support (ja)
Support (en)
Support (de)
Support (fr)
新しいサポートナレッジベースサイト「Support Wiki」オープン!
従来のEDNやSupport KBで公開されてきたアーティクルは今後こちらで扱われるようになるとのことです。ただ言語別(en/de/fr/ja)に完全に分かれてしまっている(検索も言語別に分断されている)ことや、日本語のメインページはすべてのページを通して確認できない(カテゴリに入っていくか検索しないといけない)こと、逆に英語/ドイツ語/フランス語のメインページは一覧のみでカテゴリ分けされていないこと、情報としてもまだ網羅性が足りない(もっとたくさんの情報があるはずですよね)など、改善の余地がまだまだありそうです。今後の内容の充実に期待したいところです。
ちなみに従来のEDNやSupport KBのアーティクルがどれだけあるかというと、これだけあります。
EDN Article Index 30001-
EDN Article Index 31001-
EDN Article Index 32001-
EDN Article Index 33001-
EDN Article Index 34001-
EDN Article Index 35001-
EDN Article Index 36001-
EDN Article Index 37001-
EDN Article Index 38001-
EDN Article Index 39001-
EDN Article Index 40001-
EDN Article Index 41001-
EDN Article Index 42001-
EDN Article Index 43001-
EDN Article Index 44001-
Support (ja)
Support (en)
Support (de)
Support (fr)
新しいサポートナレッジベースサイト「Support Wiki」オープン!
従来のEDNやSupport KBで公開されてきたアーティクルは今後こちらで扱われるようになるとのことです。ただ言語別(en/de/fr/ja)に完全に分かれてしまっている(検索も言語別に分断されている)ことや、日本語のメインページはすべてのページを通して確認できない(カテゴリに入っていくか検索しないといけない)こと、逆に英語/ドイツ語/フランス語のメインページは一覧のみでカテゴリ分けされていないこと、情報としてもまだ網羅性が足りない(もっとたくさんの情報があるはずですよね)など、改善の余地がまだまだありそうです。今後の内容の充実に期待したいところです。
ちなみに従来のEDNやSupport KBのアーティクルがどれだけあるかというと、これだけあります。
EDN Article Index 30001-
EDN Article Index 31001-
EDN Article Index 32001-
EDN Article Index 33001-
EDN Article Index 34001-
EDN Article Index 35001-
EDN Article Index 36001-
EDN Article Index 37001-
EDN Article Index 38001-
EDN Article Index 39001-
EDN Article Index 40001-
EDN Article Index 41001-
EDN Article Index 42001-
EDN Article Index 43001-
EDN Article Index 44001-
InterBase 2020 Update 1
InterBase 2020 Update 1がリリースされています。バージョンは14.1.0.22014.1.0.231となっています。
30916 InterBase 2020 Server Edition, Windows (14.1.0.231)
30917 InterBase 2020 Server Edition, Linux (14.1.0.231)
30919 InterBase 2020 Update 1 (14.1.0.231) for Windows
30924 InterBase 2020 Update 1 (14.1.0.231) for Linux
30918 InterBase 2020 ToGo Ed. (14.1.0.231) Win/Linux/macOS/iOS/Android
InterBase 2020 Update 1 Readme - InterBase (en)
InterBase 2020 Update 1 の新機能 - InterBase (en)
解決された不具合 - InterBase (en)
InterBase 2020 Update 1 リリースのお知らせ (en)
InterBase 2020 Update 1 リリースのお知らせ (en)
2020/06/09追記: Update 1 for Linuxのリリースのタイミングでその他のエディション/アップデートもあわせてHotfix 1が適用された14.1.0.231に差し替えとなった模様です。ReadmeによればHotfix 1では4点の不具合が修正されています。
2021/10/01追記: いつの間にかHotfix 2もリリースされていたようです(2020/10)。バージョンは14.1.0.319となっています。Resolved DefectsによるとHotfix 2では6点の不具合が修正されています。
30916 InterBase 2020 Server Edition, Windows (14.1.0.231)
30917 InterBase 2020 Server Edition, Linux (14.1.0.231)
30919 InterBase 2020 Update 1 (14.1.0.231) for Windows
30924 InterBase 2020 Update 1 (14.1.0.231) for Linux
30918 InterBase 2020 ToGo Ed. (14.1.0.231) Win/Linux/macOS/iOS/Android
InterBase 2020 Update 1 Readme - InterBase (en)
InterBase 2020 Update 1 の新機能 - InterBase (en)
解決された不具合 - InterBase (en)
InterBase 2020 Update 1 リリースのお知らせ (en)
2020/06/09追記: Update 1 for Linuxのリリースのタイミングでその他のエディション/アップデートもあわせてHotfix 1が適用された14.1.0.231に差し替えとなった模様です。ReadmeによればHotfix 1では4点の不具合が修正されています。
2021/10/01追記: いつの間にかHotfix 2もリリースされていたようです(2020/10)。バージョンは14.1.0.319となっています。Resolved DefectsによるとHotfix 2では6点の不具合が修正されています。
2020年5月13日
Microsoft Monthly Update 2020/05
今日はMicrosoftのセキュリティアップデートの日です。
リリース ノート 2020 年 5 月のセキュリティ更新プログラム
2020 年 5 月のセキュリティ更新プログラム (月例) - Microsoft Security Response Center
リリース ノート 2020 年 5 月のセキュリティ更新プログラム
2020 年 5 月のセキュリティ更新プログラム (月例) - Microsoft Security Response Center
2020年5月1日
2020/05開催のセミナー
- Web Seminar
- Live Seminar
- Community Event
2020/05/09 19:00-21:00(JST) 【初心者歓迎】ゆるふぁい#27 - Delphi のゆる~い集まり (東京都千代田区)無期限延期
2020年4月20日
新ポータルサイト公開
以前からアナウンスされていたエンバカデロの新しいポータルサイトが公開されています。
Registered Products Portal
新しいエンバカデロ・ライセンス/ダウンロード・ポータル (en)
これまでのEDN(Embarcadero Developer Network)やCC(Code Central)に替わって、今後ライセンス管理や製品のダウンロードはこのポータルサイト経由になるとのことです。これにより、従来CCで
30915 Delphi 10.3.3 Open Array Patch
https://cc.embarcadero.com/Item/30915
というダウンロードページになっていたものが、
Delphi 10.3.3 Open Array Patch
https://my.embarcadero.com/#downloadDetail/661
のようになるとのことです(EDNやCCは順次フェードアウト予定)。
また製品以外のサンプルコードなどはGitHubに移行するとのことです。
参考: The Future of CodeCentral
Registered Products Portal
新しいエンバカデロ・ライセンス/ダウンロード・ポータル (en)
これまでのEDN(Embarcadero Developer Network)やCC(Code Central)に替わって、今後ライセンス管理や製品のダウンロードはこのポータルサイト経由になるとのことです。これにより、従来CCで
30915 Delphi 10.3.3 Open Array Patch
https://cc.embarcadero.com/Item/30915
というダウンロードページになっていたものが、
Delphi 10.3.3 Open Array Patch
https://my.embarcadero.com/#downloadDetail/661
のようになるとのことです(EDNやCCは順次フェードアウト予定)。
また製品以外のサンプルコードなどはGitHubに移行するとのことです。
参考: The Future of CodeCentral
2020年4月15日
Microsoft Monthly Update 2020/04
今日はMicrosoftのセキュリティアップデートの日です。
リリース ノート 2020 年 4 月のセキュリティ更新プログラム
2020 年 4 月のセキュリティ更新プログラム (月例) - Microsoft Security Response Center
リリース ノート 2020 年 4 月のセキュリティ更新プログラム
2020 年 4 月のセキュリティ更新プログラム (月例) - Microsoft Security Response Center
2020年4月10日
[書籍]TMS WEB Core
Amazon(JP)で注文した
TMS WEB Core (Amazon US, Amazon JP)/Dr. Holger Flick著/FlixEngineering LLC/ISBN 979-8615692895/4,930JPY(printed)
が配送されてきました。2020/04/07に注文して4日目の到着でした。
TMS WEB Core (Amazon US, Amazon JP)/Dr. Holger Flick著/FlixEngineering LLC/ISBN 979-8615692895/4,930JPY(printed)
が配送されてきました。2020/04/07に注文して4日目の到着でした。
2020年4月1日
2020/04開催のセミナー
- Web Seminar
- Live Seminar
- Community Event
2020/04/09 19:00-21:00(JST) 【初心者歓迎】ゆるふぁい#27 - Delphi のゆる~い集まり (東京都千代田区)2020/05/09に延期
2020年3月22日
[書籍]The Little Book of Delphi
Amazon(JP)で注文した
The Little Book of Delphi (Amazon US, Amazon JP)/Huw Collingbourne著/Dark Neon/ISBN 978-1913132095/2,331JPY(printed)
が配送されてきました。2020/03/20に注文して2日目の到着でした。
The Little Book of Delphi (Amazon US, Amazon JP)/Huw Collingbourne著/Dark Neon/ISBN 978-1913132095/2,331JPY(printed)
が配送されてきました。2020/03/20に注文して2日目の到着でした。
2020年3月11日
Microsoft Monthly Update 2020/03
今日はMicrosoftのセキュリティアップデートの日です。
リリース ノート 2020 年 3 月のセキュリティ更新プログラム
2020 年 3 月のセキュリティ更新プログラム (月例) - Microsoft Security Response Center
リリース ノート 2020 年 3 月のセキュリティ更新プログラム
2020 年 3 月のセキュリティ更新プログラム (月例) - Microsoft Security Response Center
2020年3月1日
2020/03開催のセミナー
- Web Seminar
- Live Seminar
- Community Event
2020/03/12 19:00-21:00(JST) 【初心者歓迎】ゆるふぁい#27 - Delphi のゆる~い集まり (東京都千代田区)2020/04/09に延期
2020年2月26日
RAD Studio/Delphi/C++Builder 10.3.3 Rio Open Array Patch
RAD Studio/Delphi/C++Builder 10.3.3 RioのOpen Array Patchがリリースされています。Windows x64でオープン配列パラメータを持つ継承元関数を呼び出すとAVになる問題(RSP-23939)を修正します。
30915 Delphi 10.3.3 Open Array Patch
RAD Studio 10.3.3 MidasおよびDelphi Open Arrayパッチ (en)
30915 Delphi 10.3.3 Open Array Patch
RAD Studio 10.3.3 MidasおよびDelphi Open Arrayパッチ (en)
RAD Studio/Delphi/C++Builder 10.3.3 Rio Midas.dll Patch
RAD Studio/Delphi/C++Builder 10.3.3 RioのMidas.dll Patchがリリースされています。Threading and TLS Patchの影響を受けるためリビルドされているとのことです。
30914 RAD Studio 10.3.3 Midas.dll Patch
RAD Studio 10.3.3 MidasおよびDelphi Open Arrayパッチ (en)
30914 RAD Studio 10.3.3 Midas.dll Patch
RAD Studio 10.3.3 MidasおよびDelphi Open Arrayパッチ (en)
2020年2月12日
Microsoft Monthly Update 2020/02
今日はMicrosoftのセキュリティアップデートの日です。
リリース ノート 2020 年 2 月のセキュリティ更新プログラム
2020 年 2 月のセキュリティ更新プログラム (月例) - Microsoft Security Response Center
リリース ノート 2020 年 2 月のセキュリティ更新プログラム
2020 年 2 月のセキュリティ更新プログラム (月例) - Microsoft Security Response Center
2020年2月4日
Embarcadero Tech Vision 20
本日10:00からEmbarcadero Tech Vision 20がUDX GALLERY NEXTで行われます。今回は一部のセッションのみ配信があります。
- Delphi@25 - Developers Focus
- 「オープニング ~ Delphi@25 プロダクトアドレス」
- 「Delphi 25年の軌跡と現在」
- 「Delphi@25 ライトニング」
- Enterprise Application Development Focus
- 「キーノート~テクノロジーショーケース」
- 「サービス指向アプローチとモダンWebアプリケーションの構築~カスタマーショーケース」
- 「システム価値を高めるモダナイゼーションアプローチ~パートナーショーケース」
- 「コンポーネントアプローチによるソフトウェア開発の俊敏性と品質向上の実現~カスタマーショーケース」
- 「クロージング」
- Developers Communication
- 「MEET EMBARCADERO & COOL APP SELECTIONS」
2020年2月1日
2020/02開催のセミナー
- Web Seminar
- Live Seminar
- 2020/02/04 10:00-19:30(JST) Embarcadero Tech Vision 20
- Community Event
- 2020/02/13 19:00-21:00(JST) 【初心者歓迎】ゆるふぁい#26 - Delphi のゆる~い集まり (東京都千代田区)
2020年1月30日
RAD Studio/C++Builder 10.3.3 Rio Threading and TLS Patch
RAD Studio/C++Builder 10.3.3 RioのThreading and TLS Patchがリリースされています。Windows x64上でスレッドを作るとアクセス違反が発生する問題(RSP-27180)を修正します。
30909 C++Builder 10.3.3 Threading and TLS Patch
C++Builder 10.3.3スレッドとTLSパッチ (en)
30909 C++Builder 10.3.3 Threading and TLS Patch
C++Builder 10.3.3スレッドとTLSパッチ (en)
2020年1月19日
RAD Studio/Delphi/C++Builder 10.3.3 Rio iPhone XS and XR Debugging Patch
RAD Studio/Delphi/C++Builder 10.3.3 RioのiPhone XS and XR Debugging Patchがリリースされています。A12プロセッサで動作するiOS(iPhone XS/XR)上でデバッグできない問題(RSP-26709、RSP-25732)を修正します。
30908 RAD Studio 10.3.3 iPhone XS and XR Debugging Patch
RAD Studio 10.3.3 iPhone XSおよびXRデバッグパッチ (en)
30908 RAD Studio 10.3.3 iPhone XS and XR Debugging Patch
RAD Studio 10.3.3 iPhone XSおよびXRデバッグパッチ (en)
2020年1月15日
Microsoft Monthly Update 2020/01
今日はMicrosoftのセキュリティアップデートの日です。
リリース ノート 2020 年 1 月のセキュリティ更新プログラム
2020 年 1 月のセキュリティ更新プログラム (月例) - Microsoft Security Response Center
リリース ノート 2020 年 1 月のセキュリティ更新プログラム
2020 年 1 月のセキュリティ更新プログラム (月例) - Microsoft Security Response Center
2020年1月13日
2020年1月11日
RAD Studio/Delphi/C++Builder 10.3.3 Rio Indy Server SSL Certificate Patch
RAD Studio/Delphi/C++Builder 10.3.3 RioのIndy Server SSL Certificate Patchがリリースされています。Windows上でIndyを使用したwebサーバアプリケーションがSSL証明書を読み込めない問題(RSP-27144)を修正します。
30906 RAD Studio 10.3.3 Indy Server SSL Certificate Patch
RAD Studio 10.3.3 IndyサーバーSSL証明書パッチ (en)
30906 RAD Studio 10.3.3 Indy Server SSL Certificate Patch
RAD Studio 10.3.3 IndyサーバーSSL証明書パッチ (en)
2020年1月1日
2020/01開催のセミナー
- Web Seminar
- Live Seminar
- Community Event
- 2020/01/09 19:00-21:00(JST) 【初心者歓迎】ゆるふぁい#25 - Delphi のゆる~い集まり (東京都千代田区)
2019年12月24日
[書籍][eBook]Mastering Delphi Programming
Packt Publishingで注文した
Mastering Delphi Programming: A Complete Reference Guide (Amazon US, Amazon JP)/Primož Gabrijelčič著/Packt Publishing/ISBN 9781838989118/44.99USD(printed+ebook)
が配送されてきました(今回の配送もDHLで、インドのチェンナイからの発送でした)。2019/12/16に注文して9日目の到着、44.99USD=5,042JPY(1USD=112.07JPY)でした。
Mastering Delphi Programming: A Complete Reference Guide (Amazon US, Amazon JP)/Primož Gabrijelčič著/Packt Publishing/ISBN 9781838989118/44.99USD(printed+ebook)
が配送されてきました(今回の配送もDHLで、インドのチェンナイからの発送でした)。2019/12/16に注文して9日目の到着、44.99USD=5,042JPY(1USD=112.07JPY)でした。
2019年12月21日
RAD Studio/Delphi/C++Builder 10.3.3 Rio Android Services Patch
RAD Studio/Delphi/C++Builder 10.3.3 RioのAndroid Services Patchがリリースされています。AAB(Android App Bundle)としてパッケージ化されたアプリケーションでネイティブライブラリをロードできずにAndroidサービスが実行できない問題を修正します。
30905 RAD Studio 10.3.3 Android Services Patch
RAD Studio 10.3.3 Androidサービスパッチ (en)
30905 RAD Studio 10.3.3 Android Services Patch
RAD Studio 10.3.3 Androidサービスパッチ (en)
2019年12月20日
WindowsのNTFSでハードリンクを扱う
このアーティクルはDelphi Advent Calendar 2019の20日目の記事です(1日ぶり6回目)。
Windows上でファイル/ディレクトリに対してリンク(複数のエントリを用意する)する方法にはシンボリックリンク、ジャンクション、ハードリンクがありますが、ここではDelphiからハードリンクを扱います。
ハードリンクはNTFS上のファイル本体に対するディレクトリエントリを複数用意する(あるいはファイル本体に複数のパス名をつける)、というもので、一般のユーザ権限で作れ、NTFS以外にSMB3.0でもサポート(ReFSは不可)されていますが、ディレクトリを扱うことができず、同一ボリューム上にしかリンクを作ることができません。また最大のリンク数が1023に制限されています。
Windowsのシンボリックリンクとジャンクションとハードリンクの違い:Tech TIPS - @IT
普通に(CreateFile関数で)作成したファイルはリンク数が1になっており、ハードリンクを作成する毎にリンク数が増え、逆にハードリンクをDeleteFile関数で削除する毎にリンク数は減っていき、リンク数が0になるとそのファイルの実体も削除されます。
ここではハードリンクの作成と、指定されたファイルのハードリンクの数と一覧の取得をDelphiから行います。以下のコードは(System.)IOUtilsユニットのTPathレコード型や無名メソッドを使っているためにDelphi 2010以降の対応になっていますが、それ以前のバージョンであっても適当に修正すれば動くはずです。
ハードリンクはCreateHardLink関数で作成し、リンク数はGetFileInformationByHandle関数で取得したBY_HANDLE_FILE_INFORMATION構造体のnNumberOfLinksで知ることができます。またハードリンクの一覧はFindFirstFileName関数/FindNextFileName関数/FindClose関数で取得できます。このときFindFirstFilename関数/FindNextFileName関数を一旦LinkName=nilで呼び出して必要なサイズを取得し、ファイル名の格納に必要な領域を確保してからもう一度FindFirstFilename関数/FindNextFileName関数を呼び出しています。
→WindowsのNTFSでハードリンクを扱う(Gist)
Windows上でファイル/ディレクトリに対してリンク(複数のエントリを用意する)する方法にはシンボリックリンク、ジャンクション、ハードリンクがありますが、ここではDelphiからハードリンクを扱います。
ハードリンクはNTFS上のファイル本体に対するディレクトリエントリを複数用意する(あるいはファイル本体に複数のパス名をつける)、というもので、一般のユーザ権限で作れ、NTFS以外にSMB3.0でもサポート(ReFSは不可)されていますが、ディレクトリを扱うことができず、同一ボリューム上にしかリンクを作ることができません。また最大のリンク数が1023に制限されています。
Windowsのシンボリックリンクとジャンクションとハードリンクの違い:Tech TIPS - @IT
普通に(CreateFile関数で)作成したファイルはリンク数が1になっており、ハードリンクを作成する毎にリンク数が増え、逆にハードリンクをDeleteFile関数で削除する毎にリンク数は減っていき、リンク数が0になるとそのファイルの実体も削除されます。
ここではハードリンクの作成と、指定されたファイルのハードリンクの数と一覧の取得をDelphiから行います。以下のコードは(System.)IOUtilsユニットのTPathレコード型や無名メソッドを使っているためにDelphi 2010以降の対応になっていますが、それ以前のバージョンであっても適当に修正すれば動くはずです。
interface
{$IF RTLVersion < 21.0}
{$MESSAGE ERROR 'Delphi 2010 or later is required.'}
{$IFEND}
uses
{$IF RTLVersion < 23.0}
Windows, SysUtils, Classes, IOUtils;
{$ELSE}
Winapi.Windows,
System.SysUtils, System.Classes, System.IOUtils;
{$IFEND}
type
{ THardLink }
THardLink = record
private
class procedure DoGetFileList(const Filename: String; EnumProc: TProc); static;
public
class procedure Create(const LinkFile: String; const SourceFile: String); static;
class function GetFileList(const Filename: String): TArray; overload; static;
class procedure GetFileList(const Filename: String; Strings: TStrings); overload; static;
class function GetNumberOfLinks(const Filename: String): Integer; static;
end;
implementation
{ HANDLE FindFirstFileNameW(LPCWSTR lpFileName, DWORD dwFlags, LPDWORD StringLength, PWSTR LinkName); }
function FindFirstFileNameW(const lpFileName: PWideChar; dwFlags: DWORD; var StringLength: DWORD; LinkName: PWideChar): THandle; stdcall; external kernel32;
{$EXTERNALSYM FindFirstFileNameW}
{ BOOL FindNextFileNameW(HANDLE hFindStream, LPDWORD StringLength, PWSTR LinkName); }
function FindNextFileNameW(hFindStream: THandle; var StringLength: DWORD; LinkName: PWideChar): BOOL; stdcall; external kernel32;
{$EXTERNALSYM FindNextFileNameW}
class procedure THardLink.Create(const LinkFile: String; const SourceFile: String);
begin
if CreateHardLink(PChar(LinkFile),PChar(SourceFile),nil) = False then
begin
RaiseLastOSError;
end;
end;
class function THardLink.GetFileList(const Filename: String): TArray;
var
Files: TArray;
begin
SetLength(Files,0);
DoGetFileList(Filename,
procedure (Filename: String)
begin
{$IF RTLVersion >= 28.0}
Files := Files + [Filename];
{$ELSE}
SetLength(Files,Length(Files) + 1);
Files[Length(Files) - 1] := Filename;
{$IFEND}
end);
Result := Files;
end;
class procedure THardLink.GetFileList(const Filename: String; Strings: TStrings);
begin
Strings.Clear;
DoGetFileList(Filename,
procedure (Filename: String)
begin
Strings.Add(Filename);
end);
end;
class function THardLink.GetNumberOfLinks(const Filename: String): Integer;
var
hFile: THandle;
FileInformation: TByHandleFileInformation;
begin
hFile := CreateFile(PChar(Filename),GENERIC_READ,FILE_SHARE_READ,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
if hFile = INVALID_HANDLE_VALUE then
begin
RaiseLastOSError;
end;
try
if GetFileInformationByHandle(hFile,FileInformation) = False then
begin
RaiseLastOSError;
end;
Result := FileInformation.nNumberOfLinks;
finally
CloseHandle(hFile);
end;
end;
class procedure THardLink.DoGetFileList(const Filename: String; EnumProc: TProc);
var
hFindStream: THandle;
Len: DWORD;
Buffer: String;
Root: String;
begin
Root := ExcludeTrailingPathDelimiter(TPath.GetPathRoot(Filename));
{ Retrieve buffer size }
Len := 0;
FindFirstFilenameW(PWideChar(Filename),0,Len,nil);
if GetLastError <> ERROR_MORE_DATA then
begin
RaiseLastOSError;
end;
SetLength(Buffer,Len);
{ Get first filename without drive letter }
hFindStream := FindFirstFilenameW(PWideChar(Filename),0,Len,PWideChar(Buffer));
if hFindStream = INVALID_HANDLE_VALUE then
begin
RaiseLastOSError;
end;
try
while True do
begin
{ Adjust buffer size }
SetLength(Buffer,Len - 1);
{ Callback }
EnumProc(Root + Buffer);
{ Retrieve buffer size }
Len := 0;
FindNextFileNameW(hFindStream,Len,nil);
case GetLastError of
ERROR_HANDLE_EOF:
begin
Break;
end;
ERROR_MORE_DATA:
begin
end;
else
begin
RaiseLastOSError;
end;
end;
{ Get next filename without drive letter }
SetLength(Buffer,Len);
if FindNextFileNameW(hFindStream,Len,PWideChar(Buffer)) = False then
begin
RaiseLastOSError;
end;
end;
finally
{ Close }
{$IF RTLVersion >= 23.0}Winapi.{$IFEND}Windows.FindClose(hFindStream);
end;
end;
ハードリンクはCreateHardLink関数で作成し、リンク数はGetFileInformationByHandle関数で取得したBY_HANDLE_FILE_INFORMATION構造体のnNumberOfLinksで知ることができます。またハードリンクの一覧はFindFirstFileName関数/FindNextFileName関数/FindClose関数で取得できます。このときFindFirstFilename関数/FindNextFileName関数を一旦LinkName=nilで呼び出して必要なサイズを取得し、ファイル名の格納に必要な領域を確保してからもう一度FindFirstFilename関数/FindNextFileName関数を呼び出しています。
→WindowsのNTFSでハードリンクを扱う(Gist)
2019年12月19日
Windowsのユーザ名とSIDを相互に変換する
このアーティクルはDelphi Advent Calendar 2019の19日目の記事です(2年ぶり5回目)。またDelphi Programming Tipsカテゴリの記念すべき(かどうかは微妙)100本目の記事になります。
Windows上のユーザはそれぞれ固有のSID(Security Identifier/セキュリティ識別子)で管理されています。
オブジェクトを識別するSIDとは?:Tech TIPS - @IT
ユーザ名とSIDを相互に変換するにはWin32APIのLookupAccountName関数とLookupAccountSid関数を使用します。ところがこれらの関数でSIDは文字列ではなくSID構造体で扱う必要があります。ということで文字列表現のSIDとSID構造体を相互に変換する必要がありますが、これを行うのがConvertSidToStringSid関数とConvertStringSidToSid関数になります。
それではまずユーザ名をSIDに変換するほうから。
次にSIDをユーザ名に変換します。
使用しているWin32APIのうち、LookupAccountSid関数/LookupAccountName関数はDelphi 2009で、ConvertStringSidToSid関数/ConvertSidToStringSid関数はDelphi XE7で(Win32API.)Windowsユニットに関数宣言が追加されたため、それ以前のバージョンでは明示的に定義が必要です。
→Windows上のユーザ名とSIDを相互変換(Gist)
Windows上のユーザはそれぞれ固有のSID(Security Identifier/セキュリティ識別子)で管理されています。
オブジェクトを識別するSIDとは?:Tech TIPS - @IT
ユーザ名とSIDを相互に変換するにはWin32APIのLookupAccountName関数とLookupAccountSid関数を使用します。ところがこれらの関数でSIDは文字列ではなくSID構造体で扱う必要があります。ということで文字列表現のSIDとSID構造体を相互に変換する必要がありますが、これを行うのがConvertSidToStringSid関数とConvertStringSidToSid関数になります。
それではまずユーザ名をSIDに変換するほうから。
uses
{$IF RTLVersion < 23.0}
Windows, SysUtils;
{$ELSE}
Winapi.Windows, System.SysUtils;
{$IFEND}
{$IF RTLVersion < 28.0}
{ Win32API ConvertSidToStringSid }
{$IFNDEF Unicode}
function ConvertSidToStringSid(Sid: PSID; var StringSid: LPSTR): BOOL; stdcall; external advapi32 name 'ConvertSidToStringSidA';
{$ELSE}
function ConvertSidToStringSid(Sid: PSID; var StringSid: LPWSTR): BOOL; stdcall; external advapi32 name 'ConvertSidToStringSidW';
{$ENDIF}
{$EXTERNALSYM ConvertSidToStringSid}
{$IFEND}
{$IF RTLVersion < 19.0}
{ Win32API LookupAccountName }
{$IFNDEF Unicode}
function LookupAccountName(lpSystemName, lpAccountName: LPCSTR;
Sid: PSID; var cbSid: DWORD; ReferencedDomainName: LPSTR;
var cbReferencedDomainName: DWORD; var peUse: SID_NAME_USE): BOOL; stdcall; external advapi32 name 'LookupAccountNameA';
{$ELSE}
function LookupAccountName(lpSystemName, lpAccountName: LPCWSTR;
Sid: PSID; var cbSid: DWORD; ReferencedDomainName: LPWSTR;
var cbReferencedDomainName: DWORD; var peUse: SID_NAME_USE): BOOL; stdcall; external advapi32 name 'LookupAccountNameW';
{$ENDIF}
{$EXTERNALSYM LookupAccountName}
{$IFEND}
function UsernameToSid(const AUsername: String): String;
var
PSID: Pointer;
SidSize: DWORD;
Domain: String;
DomainLen: DWORD;
SidName: SID_NAME_USE;
SidStr: PChar;
begin
PSID := nil;
SidStr := nil;
try
SidSize := 0;
DomainLen := 0;
LookupAccountName(nil,PChar(AUsername),nil,SidSize,nil,DomainLen,SidName);
if GetLastError <> ERROR_INSUFFICIENT_BUFFER then
begin
RaiseLastOSError;
end;
PSID := Pointer(LocalAlloc(LPTR,SidSize));
SetLength(Domain,DomainLen);
if LookupAccountName(nil,PChar(AUsername),PSID,SidSize,PChar(Domain),DomainLen,SidName) = False then
begin
RaiseLastOSError;
end;
ConvertSidToStringSid(PSID,SidStr);
SetString(Result,SidStr,StrLen(SidStr));
finally
if PSID <> nil then
begin
{$IF RTLVersion >= 32.0}
if LocalFree(PSID) <> nil then
{$ELSE}
{$IFNDEF WIN64}
if LocalFree(DWORD(PSID)) <> 0 then
{$ELSE}
if LocalFree(UInt64(PSID)) <> 0 then
{$ENDIF}
{$IFEND}
begin
RaiseLastOSError;
end;
end;
if SidStr <> nil then
begin
{$IF RTLVersion >= 32.0}
if LocalFree(SidStr) <> nil then
{$ELSE}
{$IFNDEF WIN64}
if LocalFree(DWORD(SidStr)) <> 0 then
{$ELSE}
if LocalFree(UInt64(SidStr)) <> 0 then
{$ENDIF}
{$IFEND}
begin
RaiseLastOSError;
end;
end;
end;
end;
まずLookupAccountName関数でユーザ名に対応するSIDをSID構造体に取得し、これをConvertSidToStringSid関数で文字列に変換します。このときLookupAccountName関数を一旦SID=nil、ReferencedDomainName=nilで呼び出して必要なサイズを取得し、SIDはLocalAlloc関数で、ReferencedDomainNameは(文字列なので)SetLengthで領域を確保して、もう一度LookupAccountName関数を呼ぶようにしているのと、LocalAlloc関数、ConvertSidToStringSid関数で確保された領域はLocalFree関数で解放しなければならない、というところに気をつける必要があります(DelphiのバージョンによってLocalFree関数の宣言に差異があるので$IF RTLVersionと$IFNDEF WIN64で分岐しています)。次にSIDをユーザ名に変換します。
{$IF RTLVersion < 28.0}
{ Win32API ConvertStringSidToSid }
{$IFNDEF Unicode}
function ConvertStringSidToSid(StringSid: LPCSTR; var Sid: PSID): BOOL; stdcall; external advapi32 name 'ConvertStringSidToSidA';
{$ELSE}
function ConvertStringSidToSid(StringSid: LPCWSTR; var Sid: PSID): BOOL; stdcall; external advapi32 name 'ConvertStringSidToSidW';
{$ENDIF}
{$EXTERNALSYM ConvertStringSidToSid}
{$IFEND}
{$IF RTLVersion < 19.0}
{ Win32API LookupAccountSid }
{$IFNDEF Unicode}
function LookupAccountSid(lpSystemName: LPCSTR; Sid: PSID;
Name: LPSTR; var cbName: DWORD; ReferencedDomainName: LPSTR;
var cbReferencedDomainName: DWORD; var peUse: SID_NAME_USE): BOOL; stdcall; external advapi32 name 'LookupAccountSidA';
{$ELSE}
function LookupAccountSid(lpSystemName: LPCWSTR; Sid: PSID;
Name: LPWSTR; var cbName: DWORD; ReferencedDomainName: LPWSTR;
var cbReferencedDomainName: DWORD; var peUse: SID_NAME_USE): BOOL; stdcall; external advapi32 name 'LookupAccountSidW';
{$ENDIF}
{$EXTERNALSYM LookupAccountSid}
{$IFEND}
function SidToUsername(const ASID: String): String;
var
PSID: Pointer;
UserNameLen: DWORD;
Domain: String;
DomainLen: DWORD;
SidName: SID_NAME_USE;
begin
PSID := nil;
try
if ConvertStringSidToSid(PChar(ASID),PSID) = False then
begin
RaiseLastOSError;
end;
UserNameLen := 0;
DomainLen := 0;
LookupAccountSid(nil,PSID,nil,UserNameLen,nil,DomainLen,SidName);
if GetLastError <> ERROR_INSUFFICIENT_BUFFER then
begin
RaiseLastOSError;
end;
SetLength(Result,UserNameLen);
SetLength(Domain,DomainLen);
if LookupAccountSid(nil,PSID,PChar(Result),UserNameLen,PChar(Domain),DomainLen,SidName) = False then
begin
RaiseLastOSError;
end;
SetLength(Result,StrLen(PChar(Result)));
finally
if PSID <> nil then
begin
{$IF RTLVersion >= 32.0}
if LocalFree(PSID) <> nil then
{$ELSE}
{$IFNDEF WIN64}
if LocalFree(DWORD(PSID)) <> 0 then
{$ELSE}
if LocalFree(UInt64(PSID)) <> 0 then
{$ENDIF}
{$IFEND}
begin
RaiseLastOSError;
end;
end;
end;
end;
こちらはまずConvertStringSidToSid関数でSIDの文字列をSID構造体に変換し、LookupAccountSid関数でユーザ名に変換します。こちらもLookupAccountSid関数をName=nil、ReferencedDomainName=nilで呼び出して必要なサイズを取得し、SetLengthで領域を確保してからもう一度LookupAccountSid関数を呼び出しています。またConvertStringSidToSid関数で確保したSID構造体はLocalFree関数で解放します。使用しているWin32APIのうち、LookupAccountSid関数/LookupAccountName関数はDelphi 2009で、ConvertStringSidToSid関数/ConvertSidToStringSid関数はDelphi XE7で(Win32API.)Windowsユニットに関数宣言が追加されたため、それ以前のバージョンでは明示的に定義が必要です。
→Windows上のユーザ名とSIDを相互変換(Gist)
2019年12月14日
RAD Studio/Delphi/C++Builder 10.3.3 Rio Android Debugger Patch
RAD Studio/Delphi/C++Builder 10.3.3 RioのAndroid Debugger Patchがリリースされています。これはAndroid上でのデバッグに関係するいくつかの問題を修正します。
Delphi 10.3.3 Android デバッグパッチ (en)
- [RSP-23698] dsymlink gives abnormal program termination
- [RSP-26704] Debugging 64 bit Android application hangs the IDE
- [RSP-26824] Breakpoints do not work in Android 64 project
- [RSP-26774] Unable to start GDB kernel after switching from debugging 32 to 64 Android
- 内部的に報告された、値の評価、Androidデバイスとの接続、デバッガでアタッチしているときにデバッグ対象のアプリケーションの動作が遅くなる、非常に大きなソースファイルの扱い、スレッドビューからのスレッドの切替、CPUビューでのメモリの表示などの問題
Delphi 10.3.3 Android デバッグパッチ (en)
RAD Studio/Delphi/C++Builder 10.3.3 Rio IDE and VCL Patch
RAD Studio/Delphi/C++Builder 10.3.3 RioのIDE and VCL Patchがリリースされています。これはコード補完ウィンドウのスクロールバーの表示が残ってしまう問題(RSP-26731)とTActionManager/TPopupActionBarコンポーネントを使用しているとコンパイルに失敗する問題(RSP-27035)を修正します。
30903 RAD Studio 10.3.3 IDE and VCL Patch
RAD Studio 10.3.3 IDE/VCLパッチ、ローカリゼーションパッチ (en)
30903 RAD Studio 10.3.3 IDE and VCL Patch
RAD Studio 10.3.3 IDE/VCLパッチ、ローカリゼーションパッチ (en)
2019年12月11日
2019年12月9日
RAD Studio/Delphi/C++Builder 10.3.3 Rio localization patch
RAD Studio/Delphi/C++Builder 10.3.3 Rioのlocalization patchがリリースされています。これはローカライズ(DE/FR/JA)の問題を解決するものです。
30901 RAD Studio 10.3.3 localization patch (DE/FR)
30902 RAD Studio 10.3.3 localization patch (JA)
RAD Studio 10.3.3 IDE/VCLパッチ、ローカリゼーションパッチ (en)
30901 RAD Studio 10.3.3 localization patch (DE/FR)
30902 RAD Studio 10.3.3 localization patch (JA)
RAD Studio 10.3.3 IDE/VCLパッチ、ローカリゼーションパッチ (en)
2019年12月6日
RAD Studio/Delphi/C++Builder 10.3.3 Rio iOS Linking Patch
RAD Studio/Delphi/C++Builder 10.3.3 RioのiOS Linking Patchがリリースされています。これはiOSアプリケーションをDebugビルドでリンクしようとするとエラーになる問題(RSP-23698)を解決するものです。
30900 RAD Studio 10.3.3 iOS Linking Patch
30900 RAD Studio 10.3.3 iOS Linking Patch
2019年12月1日
2019/12開催のセミナー
- Web Seminar
- 2019/12/05 16:00-16:45(JST) Webセミナー「DelphiユーザーのためのSencha入門」 第2回 - 実践編
- Live Seminar
- Community Event
- 2019/12/05 19:00-21:00(JST) 【初心者歓迎】ゆるふぁい#24 - Delphi のゆる~い集まり (東京都千代田区)
2019年11月21日
RAD Studio/Delphi/C++Builder 10.3 Rio Release 3 (10.3.3)
RAD Studio/Delphi/C++Builder 10.3 RioのRelease 3 (10.3.3)がリリースされています。インストールには有効なUpdate Subscriptionが必要です(Community Editionを除く)。また同時にpatchもリリースされています。
30893 RAD Studio, Delphi, C++Builder 10.3.3 Web Install
30896 RAD Studio, Delphi, C++Builder 10.3.3 ISO
30899 RAD Studio 10.3.3 iOS 13 Dark Theme Patch
10.3 Rio - リリース 3 - RAD Studio (en)
New features and customer reported issues fixed in RAD Studio 10.3.3 - RAD Studio
RAD Studio 10.3.3 Now Available, Learn More
Delphi 10.3.3 is Available
RAD Studio 10.3.3: Delphi Android 64-bitサポート (en)
RAD Studio 10.3.3: iOS 13およびmacOS Catalinaサポート (en)
Enterprise Connectors in RAD Studio 10.3.3 Enterprise & Architect Edition
RAD Studio 10.3.3: IDEの改善 (en)
Delphi / C++Builder / RAD Studio 10.3.3 のリリースとキャンペーンのお知らせ
RAD Studio 10.3.3で解決されたIBXの問題 (en)
DelphiのLinux Dockerサポートを使ってみよう (en)
Linux DockerによるRAD Serverの配置 (en)
Workarounds:
30893 RAD Studio, Delphi, C++Builder 10.3.3 Web Install
30896 RAD Studio, Delphi, C++Builder 10.3.3 ISO
30899 RAD Studio 10.3.3 iOS 13 Dark Theme Patch
10.3 Rio - リリース 3 - RAD Studio (en)
New features and customer reported issues fixed in RAD Studio 10.3.3 - RAD Studio
RAD Studio 10.3.3 Now Available, Learn More
Delphi 10.3.3 is Available
RAD Studio 10.3.3: Delphi Android 64-bitサポート (en)
RAD Studio 10.3.3: iOS 13およびmacOS Catalinaサポート (en)
Enterprise Connectors in RAD Studio 10.3.3 Enterprise & Architect Edition
RAD Studio 10.3.3: IDEの改善 (en)
Delphi / C++Builder / RAD Studio 10.3.3 のリリースとキャンペーンのお知らせ
RAD Studio 10.3.3で解決されたIBXの問題 (en)
DelphiのLinux Dockerサポートを使ってみよう (en)
Linux DockerによるRAD Serverの配置 (en)
Workarounds:
2019年11月18日
InterBase 2020リリース
InterBase 2020(14.0.0.97)がリリースされています。On-disk Structure (ODS)は18になっています。
30891 InterBase 2020 Server Edition, Windows (14.0.0.97)
30892 InterBase 2020 ToGo Ed. (14.0.0.97) Win/Linux/macOS/iOS/Android
Readme - InterBase (en)
InterBase 2020 の新機能 - InterBase (en)
解決された不具合 - InterBase (en)
InterBase 2020リリースのお知らせ (en)
# ドキュメントの翻訳は間に合っていないっぽいです。
30891 InterBase 2020 Server Edition, Windows (14.0.0.97)
30892 InterBase 2020 ToGo Ed. (14.0.0.97) Win/Linux/macOS/iOS/Android
Readme - InterBase (en)
InterBase 2020 の新機能 - InterBase (en)
解決された不具合 - InterBase (en)
InterBase 2020リリースのお知らせ (en)
# ドキュメントの翻訳は間に合っていないっぽいです。
2019年11月13日
2019年11月1日
[書籍]IT業界の病理学
紀伊國屋書店新宿本店で
IT業界の病理学 (Amazon)/司馬紅太郎、秋山浩一、森龍二、鈴木昭吾、都築将夫、堀明広、佐々木誠、鈴木準一著/技術評論社/ISBN 978-4-297-10857-1/1,848円
を購入。
IT業界の病理学 (Amazon)/司馬紅太郎、秋山浩一、森龍二、鈴木昭吾、都築将夫、堀明広、佐々木誠、鈴木準一著/技術評論社/ISBN 978-4-297-10857-1/1,848円
を購入。
2019/11開催のセミナー
- Web Seminar
- 2019/11/26 16:00-16:30(JST) Webセミナー「DelphiユーザーのためのSencha入門」 第1回 - 概念編
- Live Seminar
- Community Event
- 2019/11/07 19:00-21:00(JST) 【初心者歓迎】ゆるふぁい#23 - Delphi のゆる~い集まり (東京都千代田区)
登録:
投稿 (Atom)