Microsoftの定例外のセキュリティアップデートがリリースされています。
MS10-070
2010/09/30追記: MS10-060と同様に、MS10-070の.NET Framework 1.1 SP1/2.0用の更新プログラム(ファイル名がNDP1.1sp1およびNDP20で始まるもの)はWindows 2000 SP4/XP SP2にも適用可能なようです。
2010年9月29日
2010年9月28日
LockWindowUpdateとWM_SETREDRAW
Raymond ChenさんのThe Old New ThingにLockWindowUpdate (ja)(とWM_SETREDRAW)に関する興味深い一連のアーティクルがありました。
てきとうな要約:
The Old New Thingは書籍(日本語訳はWindowsプログラミングの極意)にもなっていますが、MSDNのリファレンスには載っていない色々な"理由"を解説してくれる素晴らしいblogです(英語なので厳しいですが…)。
- What does LockWindowUpdate do?
- How is LockWindowUpdate meant to be used?
- With what operations is LockWindowUpdate meant to be used?
- With what operations is LockWindowUpdate not meant to be used?
- Final remarks on LockWindowUpdate
てきとうな要約:
- LockWindowUpdateはシステム(デスクトップ)全体で1つのウィンドウしかロックできない。
- LockWindowUpdateはドラッグ操作(アイテムのドラッグアンドドロップやウィンドウのドラッグ)でウィンドウの描画更新を止めるときに使う(本来はそのために存在している)。
- LockWindowUpdateで描画更新を止めているウィンドウに追加的に描画を行う必要があるときはGetDCEx (ja)のflagsにDCX_LOCKWINDOWUPDATEを含めて作成したDCに描画する。
- それ以外の状況ではLockWindowUpdateではなくWM_SETREDRAWを使用するべきである。
- LockWindowUpdateはWindows 3.1(Win16)のリソースが限定されていた時代に作られたもので、いまどきはDirectXオーバレイ、リージョン化ウィンドウ、レイヤードウィンドウ、アルファブレンド、デスクトップコンポジションといったものがあるのだから、これらでエフェクトをかけるほうが多機能だし望ましい。
The Old New Thingは書籍(日本語訳はWindowsプログラミングの極意)にもなっていますが、MSDNのリファレンスには載っていない色々な"理由"を解説してくれる素晴らしいblogです(英語なので厳しいですが…)。
2010年9月27日
Windows 7のタスクバーの制御
Delphi 2010で追加されたWindows 7サポート機能を使用して、Windows 7のタスクバーの拡張機能であるプレビューにボタンを追加したりプログレスを表示したりする方法を説明した記事。興味深い。とりあえずメモ。
Dr.Bob Examines... #125: Fun with the Windows 7 Taskbar
またJEDI Windows APIのUsing Windows 7 Taskbar-features via componentsという記事経由の情報で、theunknownones - Project Hosting on Google CodeにDelphi 2006-2009で使用できるTaskbarListComponentsというコンポーネントセットもあります(JEDI Windows APIが必要)。ただしライセンスがGNU LGPLとなっていて、Delphiのコンポーネントは実行時パッケージを使わない限り静的リンクでありLGPLv2の6a項あるいはLGPLv3の4d0項に該当する可能性が高いため、商用アプリケーションでは非常に注意が必要と考えられます(Wikipedia(ja)のLGPLの解説を参照)。
日本語の情報では第15回エンバカデロ・デベロッパーキャンプの
【B6】Delphiテクニカルセッション「Delphi 2010 で探る! Windows 7 新機能」
の細川さんのプレゼンテーション資料のp.15-22も非常にわかりやすく、参考になります。またこの資料にもあるアプリケーションユーザモデルID(グループ化やジャンプリストで必要になる)についてはMSDNの
アプリケーション ユーザー モデル ID (AppID)
SetCurrentProcessExplicitAppUserModelID Function (Windows)
に説明があります。
2010/09/28追記: Daniel Wischnewskiさんによる"Windows 7 Component Library"がCode Crunching - Windows 7 Components - Betaからダウンロードできます(betaですが)。こちらはコンポーネントライブラリを作るのに使うならGPLで、アプリケーションに使うならGPL/LGPL/MPLのいずれかで、というライセンスになっています。benokさん、情報ありがとうございます。
Dr.Bob Examines... #125: Fun with the Windows 7 Taskbar
またJEDI Windows APIのUsing Windows 7 Taskbar-features via componentsという記事経由の情報で、theunknownones - Project Hosting on Google CodeにDelphi 2006-2009で使用できるTaskbarListComponentsというコンポーネントセットもあります(JEDI Windows APIが必要)。ただしライセンスがGNU LGPLとなっていて、Delphiのコンポーネントは実行時パッケージを使わない限り静的リンクでありLGPLv2の6a項あるいはLGPLv3の4d0項に該当する可能性が高いため、商用アプリケーションでは非常に注意が必要と考えられます(Wikipedia(ja)のLGPLの解説を参照)。
日本語の情報では第15回エンバカデロ・デベロッパーキャンプの
【B6】Delphiテクニカルセッション「Delphi 2010 で探る! Windows 7 新機能」
の細川さんのプレゼンテーション資料のp.15-22も非常にわかりやすく、参考になります。またこの資料にもあるアプリケーションユーザモデルID(グループ化やジャンプリストで必要になる)についてはMSDNの
アプリケーション ユーザー モデル ID (AppID)
SetCurrentProcessExplicitAppUserModelID Function (Windows)
に説明があります。
2010/09/28追記: Daniel Wischnewskiさんによる"Windows 7 Component Library"がCode Crunching - Windows 7 Components - Betaからダウンロードできます(betaですが)。こちらはコンポーネントライブラリを作るのに使うならGPLで、アプリケーションに使うならGPL/LGPL/MPLのいずれかで、というライセンスになっています。benokさん、情報ありがとうございます。
2010年9月24日
RAD Studio XEのヘルプについて
Dee EllingさんのNotes for XE Helpによれば、RAD Studio XEの(ローカル)ヘルプにはデフォルトでMicrosoft SDKヘルプが含まれないようになっているとのことです(インストール時のオプションで含めることも可能)。また最低でも2回のアップデートを予定しているそうです。
またオンラインヘルプ(docwiki)はRAD Studio XEのものが
Online Help for RAD Studio XE (ja)
に配置されているのに対して、RAD Studio 2010のものも
Online Help for RAD Studio 2010 (ja)
から見ることができるようになっています。検索もGoogleベースになっています。また"Recent changes"(Main、VCL、CodeSample)およびそのRSS/ATOMで更新状況を確認できます。
ところでMicrosoftはVisual Studio 2010でDocumentExplorer(hxs形式)を放棄してヘルプをwebブラウザベースに変更したようですが、RAD Studioはどうするのでしょうか?
またオンラインヘルプ(docwiki)はRAD Studio XEのものが
Online Help for RAD Studio XE (ja)
に配置されているのに対して、RAD Studio 2010のものも
Online Help for RAD Studio 2010 (ja)
から見ることができるようになっています。検索もGoogleベースになっています。また"Recent changes"(Main、VCL、CodeSample)およびそのRSS/ATOMで更新状況を確認できます。
ところでMicrosoftはVisual Studio 2010でDocumentExplorer(hxs形式)を放棄してヘルプをwebブラウザベースに変更したようですが、RAD Studioはどうするのでしょうか?
2010年9月22日
InterBase Expressについての解説
InterBase Expressを使用しているプログラムでTIBTransactionの設定を変更しようと思い、詳細な情報をOnline Help (ja)で探してみたのですが、現在のGetting Started with InterBase Express - RAD Studio (日本語はInterBase Express の概要 - RAD Studio)には有用な情報が皆無でした。そこであちこちさまよった結果、Internet ArchiveでBorland(borland.co.jp)のころの解説を見つけました。
またこれらのページの元となったと思われるEDNのIntroduction to InterBaseExpressというアーティクルやIBPhoenixのIntroduction To InterBase Express (IBX)というページも見つかりました(どちらも内容はほぼ同じだけどborland.co.jpの日本語のもののほうが詳しい)。
- InterBase Expressの概要
- はじめに
- コンポーネントの説明 (TIBDatabase)
- コンポーネントの説明 (TIBTransaction)
- コンポーネントの説明 (TIBQuery/TIBTable/TIBUpdateSQL/TIBDataSet/TIBStoredProc/TIBSQL/TIBDatabaseInfo/TIBSQLMonitor/TIBEvents)
- SQL-LinkとInterBase Expressの比較
またこれらのページの元となったと思われるEDNのIntroduction to InterBaseExpressというアーティクルやIBPhoenixのIntroduction To InterBase Express (IBX)というページも見つかりました(どちらも内容はほぼ同じだけどborland.co.jpの日本語のもののほうが詳しい)。
2010年9月21日
InterBase XE World Tour
ちょっと前にInterBaseの次期バージョンがInterBase XEになるという情報がありましたが、InterBase XE World Tourが2010/09/21(フランクフルト/ドイツ)、22(アムステルフェーン/オランダ)、29(モスクワ/ロシア)の日程で行われるようです。ここでもう少し具体的な情報が出てくるのかもしれません。
と書いた直後にInterBase XEのページがオープンになっています。新機能としては
元ねたはAndreano LanusseさんのSoftware Development, technologies and other matters #2。
2010/09/24追記: InterBase XEのインストール、登録、ライセンスに関する情報とReadmeが公開されています。リリースは近いということでしょうか。
Installation, Registration, and Licensing Information for Embarcadero ® InterBase® XE
InterBase XE Readme
と書いた直後にInterBase XEのページがオープンになっています。新機能としては
- Stronger password protection with SHA-1 cryptographic hash function
- Support for Dynamic SQL in Stored Procedures
- Support for increase buffer caches for improved performance
- Optimized performance of large objects with Stream methods
- Improved scalability with the ability to handle 8 times more data
- 64-bit native binary application
- Table-Specific Blocking Factors
- Larger index key segment size
- Support for larger external files
元ねたはAndreano LanusseさんのSoftware Development, technologies and other matters #2。
2010/09/24追記: InterBase XEのインストール、登録、ライセンスに関する情報とReadmeが公開されています。リリースは近いということでしょうか。
Installation, Registration, and Licensing Information for Embarcadero ® InterBase® XE
InterBase XE Readme
2010年9月17日
Windows Updateのデータストアをクリアする(Windows 2000/XP/Server 2003)
Windows Update/Microsoft Updateはデータベースやログを%windir%\SoftwareDistribution\DataStoreに保存します。このデータが極端に大きくなったり、データの不整合が発生してWindows Update/Microsoft Updateでエラーが発生することがあります。このような場合は以下の手順でDataStoreの内容をクリアする必要があります。
ただしDataStoreの内容をクリアすると、Windows Update/Microsoft Updateで非表示にした項目などの設定がすべてクリアされるので注意が必要です。
元ねたはWindows Update サイトで利用可能な更新を検索すると 0x80248013 エラーが表示される。
- サービスマネージャで"Automatic Update"サービスを停止する。
- %windir%\SoftwareDistribution\DataStoreフォルダの内容の全て削除する。
- サービスマネージャで"Automatic Update"サービスを開始する。
ただしDataStoreの内容をクリアすると、Windows Update/Microsoft Updateで非表示にした項目などの設定がすべてクリアされるので注意が必要です。
元ねたはWindows Update サイトで利用可能な更新を検索すると 0x80248013 エラーが表示される。
2010年9月16日
フォルダのDACLを設定する
JEDI Windows Security Library(JWSCL)を使用してフォルダのセキュリティの詳細設定(随意アクセス制御リスト、Discretionary Access Control List(DACL))を設定する方法を解説した記事。興味深い。とりあえずメモ。
Setting Folder Security by JEDI Windows API
Setting Folder Security by JEDI Windows API
2010年9月15日
第17回エンバカデロ・デベロッパーキャンプ開催
会場なう。受け付け開始。地下2階でもFOMAはアンテナ2本。後は電源か。
Developer Camp Live (USTREAM)でストリーミング配信されています。
午前のジェネラルセッションは終了。G1のプレゼンテーションの資料は後で配布されるのでしょうか?
ところでTrack Aのセッション資料の半分はA4なんですが…。
無事に終了しました。スピーカおよび関係者のみなさま、おつかれさまでした。
USTREAMで中継したものはdeveloper-camp-japan on USTREAMで見られます。
2010/09/21追記: セッション資料および一部のセッションのサンプルコードがダウンロードできるようになっています。
第17回 エンバカデロ・デベロッパーキャンプ - セッション資料ダウンロード
Developer Camp Live (USTREAM)でストリーミング配信されています。
午前のジェネラルセッションは終了。G1のプレゼンテーションの資料は後で配布されるのでしょうか?
ところでTrack Aのセッション資料の半分はA4なんですが…。
無事に終了しました。スピーカおよび関係者のみなさま、おつかれさまでした。
USTREAMで中継したものはdeveloper-camp-japan on USTREAMで見られます。
2010/09/21追記: セッション資料および一部のセッションのサンプルコードがダウンロードできるようになっています。
第17回 エンバカデロ・デベロッパーキャンプ - セッション資料ダウンロード
2010年9月13日
JVCL 3.40リリース
JVCL(JEDI Visual Component Library)がアップデートされてVersion 3.40(JCL Version 2.2.1)になっています。
Browse JEDI VCL for Delphi Files on SourceForge.net
元ねたは公式フォーラムのThread: ANN: JVCL 3.40 Released! 。
Browse JEDI VCL for Delphi Files on SourceForge.net
元ねたは公式フォーラムのThread: ANN: JVCL 3.40 Released! 。
2010年9月12日
IDE Fix Pack 3.5/DDevExtensions 2.1リリース
Andreas HausladenさんのIDE Fix Pack 2009/2010/XEがアップデートされてVersion 3.5に、DDevExtensionsもアップデートされてVersion 2.1になっています。またDDevExtensions 2.0 snapshot for Delphi 2007もリリースされています(Delphi 2007用のDDevExtensionsの正式版は1.61)。
Andy’s Blog and Tools » IDE FixPack, DDevExtension and AsyncCalls updates for 2009/2010/XE
Andy’s Blog and Tools » IDE FixPack, DDevExtension and AsyncCalls updates for 2009/2010/XE
2010年9月10日
リモートデバッガの使い方
Delphi Wikiにリモートデバッガの使い方を説明したRemote Debugger - Delphi Programmingというページがあります。忘れがちなのでメモ。
てきとうな要約:
元ねたはCannot get the remote debugger for Delphi 2007 to work correctly? - Stack Overflow。
てきとうな要約:
- ターゲットマシンではリモートデバッガを"-listen"オプション付きで実行しておく。
- Delphi 2009 ESD版にはリモートデバッガのインストーラがないので
- bccide.dll
- bordbk120.dll
- bordbk120N.dll
- comp32x.dll
- DCC120.dll
- rmtdbg120.exe
とする。regsvr32 /s bordbk120.dll
regsvr32 /s bordbk120n.dll - リモートデバッグの対象となるプロジェクト(当然デバッグビルド)のオプションのリンカオプションで"(TD32)デバッグ情報"と"リモートデバッグシンボル"を含めるようにする。
- ターゲットマシンにリモートデバッグ対象のアプリケーションをコピーしたら、[実行]→[プロセスのロード]で"リモート"を選択して、"リモートパス"にはターゲットマシン上のプログラムのフルパスを、"リモートホスト"にはターゲットマシンのIPアドレスを、"作業ディレクトリ"にはターゲットマシン上のプログラムの配置パスを、それぞれ指定し("パラメータ"は必要に応じて)、[読み込み]ボタンをクリックするとターゲット上でプログラムがロードされて実行可能になる。
元ねたはCannot get the remote debugger for Delphi 2007 to work correctly? - Stack Overflow。
2010年9月9日
RAD Studio XE スニークプレビュー その6
一応スニークプレビューの最後のまとめということで。
シニアソフトウェアデベロッパのMat DeLongさんのところ。QAディレクタのChris Pattinsonさんのところ。Uwe Schusterさんのところ。
またXE発売記念のキャンペーンをやるようです。
RAD Studio/Delphi/C++Buider 2005およびそれ以前のバージョンからは
XE Professional 特別アップグレードキャンペーン (2010/12/25まで)
RAD Studio/Delphi/C++Buider 2006およびそれ以降のバージョンからは
Delphi / C++Builder / RAD Studio XEシリーズ 早期バージョンアップ申込キャンペーン (2010/09/30まで)
シニアソフトウェアデベロッパのMat DeLongさんのところ。QAディレクタのChris Pattinsonさんのところ。Uwe Schusterさんのところ。
- RAD Studio XE: SVN Update and Commit | Uwe's Delphi blog
- RAD Studio XE: History View enhancements and SVN Log | Uwe's Delphi blog
- Team Japan » RAD Studio XE: CodeSiteによるロギング機能
- Team Japan » RadPHP - 最新のドキュメント
- Team Japan » RAD Studio XE: Beyond Compareによるコードの差分検出
- Darren Kosinski » RAD Studio XE Code Editor Search Shortcuts
- Darren Kosinski » RAD Studio XE Editor Enhancements
またXE発売記念のキャンペーンをやるようです。
RAD Studio/Delphi/C++Buider 2005およびそれ以前のバージョンからは
XE Professional 特別アップグレードキャンペーン (2010/12/25まで)
RAD Studio/Delphi/C++Buider 2006およびそれ以降のバージョンからは
Delphi / C++Builder / RAD Studio XEシリーズ 早期バージョンアップ申込キャンペーン (2010/09/30まで)
2010年9月8日
Firebird 2.5がまもなくリリースへ
Firebird NewsのFB 2.5 final is comingによれば、現在Firebird 2.5の最終版のリリースを準備中とのことです。
2010/10/01追記: Firebird NewsのFirebird 2.5 will be released October 4, 2010によればFirebird 2.5は2010/10/04にリリースされるようです。またLaunch Webinarを2010/10/05 01:00(JST)から予定しているとのことです。
2010/10/01追記: Firebird NewsのFirebird 2.5 will be released October 4, 2010によればFirebird 2.5は2010/10/04にリリースされるようです。またLaunch Webinarを2010/10/05 01:00(JST)から予定しているとのことです。
WindowsのSNP(Scalable Networking Pack)を無効にする
ITproに[Windows 7編]ネットワーク設定を標準で使ってはいけない - ITアーキテクトの「やってはいけない」:ITpro (要登録)という記事がありました。
SNP(Scalable Networking Pack)という機能がWindows Server 2003 Service Pack 2で導入されています。Microsoftによると
Windows Vista/Server 2008の場合
RSSおよびTCP Chimney Offloadを無効にするには管理者権限を持つコマンドプロンプトから
とします。これに加えてNetDMAを無効にするためにレジストリの
のEnableTCPA(DWORD値)(存在しなければ作成する)の値を0に変更して再起動する必要があります。
Windows 7/Server 2008 R2の場合
RSS、TCP Chimney Offload、NetDMAを無効にするには管理者権限を持つコマンドプロンプトから
とします。
Windows 8/Server 2012の場合
RSS、TCP Chimney Offloadを無効にするには管理者権限を持つコマンドプロンプトから
とします(NetDMAは機能削除されており、設定不要)。
現在の設定を確認するにはコマンドプロンプトでとします。
なおWindows 7/Server 2008 R2以外でSNPをを有効にする場合は修正モジュール、修正プログラム、回避策の適用が必要ですので注意してください。
2011/07/01追記: 現在の設定の確認方法を追加しました。
2013/03/07追記: Windows 8/Server 2012に関する記述およびマイクロソフト Network & AD サポートチーム公式ブログのWindows 8/Server 2012に関する記事のリンクを追加しました。
SNP(Scalable Networking Pack)という機能がWindows Server 2003 Service Pack 2で導入されています。Microsoftによると
SNP とは TCP に関するネットワーク処理を、ネットワーク インターフェース カード (NIC) および NIC のミニポート ドライバーを利用して最適化するためのテクノロジー及びその実装の総称です。ということですが、例によって熟成不足で、SNPを有効にしているとネットワーク関係が安定しなくなるなどの問題が生じているようです。この問題についてはMicrosoft日本法人のAsk the Network & AD Support Teamの
- どんなお問い合わせが多い? - Ask the Network & AD Support Team - Site Home - TechNet Blogs
- 予期せぬ挙動が!? 新機能 Scalable Networking Pack をご存知ですか? - Ask the Network & AD Support Team - Site Home - TechNet Blogs
- SNP (Scalable Networking Pack) 機能に関する最新情報 - Ask the Network & AD Support Team - Site Home - TechNet Blogs
SNP の有効化により効果が期待できるような環境は、10 GbE 程度の NIC を搭載し、数 Gbps 程度の通信を頻繁に行うような環境となります。ということなので、通常の環境ではSNPを使用する必要は全くない、ということになります。ところがWindows Vista/7では標準でSNPが有効になっているため、以下のように明示的に無効化する必要があります。なおWindows 8/Server 2012ではRSSのみ既定で有効、TCP Chimney Offloadは既定で無効、NetDMAは機能削除となっています。
Windows Vista/Server 2008の場合
RSSおよびTCP Chimney Offloadを無効にするには管理者権限を持つコマンドプロンプトから
netsh int tcp set global rss=disabled
netsh int tcp set global chimney=disabled
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Windows 7/Server 2008 R2の場合
RSS、TCP Chimney Offload、NetDMAを無効にするには管理者権限を持つコマンドプロンプトから
netsh int tcp set global rss=disabled
netsh int tcp set global chimney=disabled
netsh int tcp set global netdma=disabled
Windows 8/Server 2012の場合
RSS、TCP Chimney Offloadを無効にするには管理者権限を持つコマンドプロンプトから
netsh int tcp set global rss=disabled
netsh int tcp set global chimney=disabled
現在の設定を確認するにはコマンドプロンプトで
netsh int tcp show global
なおWindows 7/Server 2008 R2以外でSNPをを有効にする場合は修正モジュール、修正プログラム、回避策の適用が必要ですので注意してください。
2011/07/01追記: 現在の設定の確認方法を追加しました。
2013/03/07追記: Windows 8/Server 2012に関する記述およびマイクロソフト Network & AD サポートチーム公式ブログのWindows 8/Server 2012に関する記事のリンクを追加しました。
2010年9月7日
2010/09開催のウェブセミナー
2010/09/17 12:30-13:30(JST) Webセミナー - デベロッパーキャンプ・リキャップ「いよいよ登場!RAD Studio XEの新機能」
2010/09/21 17:30-18:30(JST) Webセミナー - デベロッパーキャンプ・リキャップ「いよいよ登場!RAD Studio XEの新機能」
いずれもエンバカデロ Webセミナー 参加申込フォームから申し込むことができます。
2010/09/27追記: RAD Studio XE製品デモのページから"Webセミナービデオ - デベロッパーキャンプ・リキャップ「いよいよ登場!RAD Studio XEの新機能」"を見られるようになっています(mp4形式)。
2010/09/21 17:30-18:30(JST) Webセミナー - デベロッパーキャンプ・リキャップ「いよいよ登場!RAD Studio XEの新機能」
いずれもエンバカデロ Webセミナー 参加申込フォームから申し込むことができます。
2010/09/27追記: RAD Studio XE製品デモのページから"Webセミナービデオ - デベロッパーキャンプ・リキャップ「いよいよ登場!RAD Studio XEの新機能」"を見られるようになっています(mp4形式)。
2010年9月5日
FastMM 4.96リリース
FastMMのVersion 4.96がリリースされています。いくつかの機能拡張のほかにDelphi/C++Builder XE対応も行われています。
元ねたは公式フォーラムのThread: FastMM 4.96 available。
元ねたは公式フォーラムのThread: FastMM 4.96 available。
2010年9月3日
RAD Studio XEのhotfixを準備中
var
i: Integer;
begin
if i < (
end;
と")"で閉じていない"< ("があるときにメモリを食い尽くしてしまうという不具合があるようです(QC87753としてレポートされています)。 John Kasterさんによれば既にhotfixが準備されているとのことです。またAndreas Hausladenさんによる非公式なバイナリパッチ(de) (en、訂正分)も公開されています。ちなみにDelphi 2009/2010のhotfixが用意されているのかどうかはわかりませんが、必要な方は上記のスレッドでリクエストしてみたらいいと思います。
登録:
投稿 (Atom)