pathedit リポジトリー変更の補足解説 (2)

新規変更の分を解説。

Commite 558c8a
キャプション設定を UnicodeString に変更。_D マクロの使い方がこれで正しいのか不明だが、_D(PACKAGE_NAME) とするとエラーになるのでやむを得ない。
Commit 43d835a
リンク除外パッケージの自動追加。Microsoft Office 関係は使わないので そのままにしておく。
Commit f0516e0
動的 RTL と動的パッケージへのリンクを無効化。動的リンクにしておくと配布時に追加ファイルが必要になって無駄にサイズが大きくなるので、小規模のプログラムでは無効にしておくのが良いと思う。
Commit c23e5a3
Application->Title を実行時に設定 (仮)。プロジェクトオプションでも設定できるようなことが書いてあったが、項目を発見できず。

続きを読む →

pathedit リポジトリー変更の補足解説

自作 pathedit リポジトリーの変更について補足を書いてみることにした。

Commit 54070be
フォーム名がデフォルトの Form1 だったので MainForm に変更。
Commit 9f55c03
TStyleBook を追加。
Commit 05c048c
TActionList と TFileExit を追加。
Commit 3e13f46
外部パッケージ名を pathedit から Path Editor に変更。

[注記: 『外来語 (カタカナ) 表記ガイドライン』に倣って、repository の日本語表記を「リポジトリー」に変更しました。]

Jenkins をパスワード管理なしで使う方法

Jenkins をインターネットから安全にアクセス可能にするために、パスワード管理なしで使えるようにしたので、その方法を紹介する。

この種のサービスをインターネットからアクセス可能にするには、パスワードを保護するために SSL による暗号通信を用いることが多いと思われる。しかし SSL にはサーバー証明書が必要であり、正規に取得したものでない限りブラウザーにより警告表示が出るのが煩わしさを感じるところでもある。

そこで SSL を使わない方法ということで考えたのが、既存の安全な認証機能を利用するということである。これには OpenID プラグインが役立った。

まあ何のことはない。以前 Google Apps が無料だった頃に申し込んであったドメインを使って SSO を設定しただけである。実際に設定してみたらあっけなく機能してしまった。

C++Builder & VCL でリストビューにソート順アイコン表示

C++Builder の VCL アプリケーションで、ソート可能なリストビューのヘッダーにソート対象カラムとソート順を示すアイコンを表示させる方法を調べたのでまとめてみる。

問題は、VCL にリストビュー内のヘッダーコントロールを取得する手段がないというところで、仕方ないので Win32 API から以下を利用する。

  • ListView_GetHeader() – ヘッダーコントロールのハンドル取得
  • Header_GetItemCount() – アイテム数取得
  • Header_GetItem() と Header_SetItem() – アイテム情報の取得と変更

使ったところは次のような感じ。

https://bitbucket.org/kazssym/dmolist/src/8038d1e15d6f400d3f4fdb049355c84ddda9a462/src/Main.cpp?at=default#cl-127

Mercurial #hg / #TortoiseHg で Beyond Compare Lite

Embarcadero RAD Studio に付属の Beyond Compare Lite を Mercurial / TortoiseHg で使うための設定例を曝してみる。

[merge-tools]
bcomparelite.priority = -4
bcomparelite.executable = C:\Program Files (x86)\Embarcadero\RAD Studio\version\bin\BCompareLite.exe
bcomparelite.args = /ro /title1=local /title2=other $local $other
bcomparelite.gui = True
bcomparelite.diffargs = /ro1 /title1='$plabel1' /title2='$clabel' $parent1 $child

オレオレ証明書でAuthenticodeコード署名を―の続き

コード署名用の証明書はとりあえず以下のようなセクションをopenssl.confに書いて-extensions codeSigningのようにオプションを指定すれば作成できるようである。

[codeSigning]
subjectKeyIdentifier = hash
keyUsage = critical, digitalSignature
authorityKeyIdentifier = keyid, issuer
extendedKeyUsage = codeSigning

critical指定はお好みで。

リンク: オレオレ証明書でAuthenticodeコード署名を: おーぷんそーす日記™ 3.0.

オレオレ証明書でAuthenticodeコード署名を

Microsoft Windows向けのコード署名には高価なコードサイニング証明書を買わないといけないと思われているようだが,実際のところオレオレ証明書で可能だったりする。(信用はされないかもしれないが。)

コード署名用のオレオレ証明書の作成方法は別の機会に書くとして,証明書ストアに証明書があればsigntool sign /a example.exeとするだけでできてしまうのであった。

もっともこれだけだと証明書の有効期限が切れると署名が無効になってしまうので,signtool sign /a /t Timestamp-URL example.exeとしてタイムスタンプサーバーを利用すると良い。タイムスタンプサーバーもオレオレ証明書で問題がなかったりする。

リンク: SignTool.exe (署名ツール).

rtnetlinkでインターフェースアドレス取得

rtnetlinkにRTM_GETADDRという機能があって,ネットワークインターフェースのアドレス情報を取得できることになっているんだが,調べてみると,インターフェースを指定するにはそのアドレスを正確に渡す必要があるらしい…

馬鹿じゃないのか,この仕様。アドレスを知りたいのにそのためにアドレスが必要とか

結局全てのアドレスを列挙するしか使い道がないぞ