Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

Delphiによる既存アプリケーションのVista対応

Delphi的Vistaサポートのアプローチ

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2007/12/17 11:30

目次

Delphi 2007でのVistaサポート

 Delphi 2007には、Windows Vistaをサポートする機能が搭載されています。VCLがVistaの新機能をカプセル化しています。

 Vistaで追加された新しいダイアログボックス(タスクダイアログ、ファイルダイアログ)を表示するコンポーネントが搭載されています。

  • TTaskDialog
  • TFileOpenDialog
  • TFileSaveDialog
TFileOpenDialog
TFileOpenDialog

 また、フォーム(ウィンドウ)にグラス効果を設定するために、GlassFrameプロパティが追加されているほか、従来のOSとの互換性の中で、Vistaで新機能を使うための機能が用意されています。

 TaskMessageDlgは、Windows XPなどの従来のOSでは、MessageDlgという従来のメッセージウィンドウを、Vistaでは、新しいTaskDialogをメッセージ表示用に使用します。この機能を使えば、OSごとにコードを書き換える必要なく、最新のUI機能を利用できます。

 また、UseLatestCommonDialogsというグローバル変数が用意されており、以下のダイアログを使用する際に、Windows Vistaで動作している場合、最新のVistaダイアログを表示するようになります。

  • TOpenDialog
  • TSaveDialog
  • TOpenPictureDialog
  • TSavePictureDialog
  • MessageDlg

 このグローバル変数のデフォルトはFalseです。Trueに設定すると動作が有効になります。

 一方、Vista固有の機能を使用している場合、Vista以外のOSで実行した場合には例外が発生するようにできます。EPlatformVersionExceptionはこのための例外で、TTaskDialog、TFileOpenDialog、TFileSaveDialogをVista以外のOSで使用すると発生します。

DelphiでのVistaサポートの手順

 既存のDelphiアプリケーションをWindows Vistaに対応させるには、次のような手順を踏みます。

  • アプリケーションをテストし、問題を確認する
  • アプリケーションを標準ユーザー/管理者/その複合形態で検証する
  • アプリケーションマニフェストを追加する
  • 必要に応じて機能/ユーザーインターフェースを再設計する
  • 再びテスト
  • 必要に応じてアプリケーションに署名する

 Windows Vistaではアプリケーションにとって大変重要な箇所の仕様変更がなされているために、大掛かりな書き換えが必要なケースがあります。しかし、DelphiではVCLコンポーネントによってVistaとVista以前のOSでの互換性を保つことができるので、セキュリティなどの重要な変更箇所に集中することができます。

関連情報
 DelphiのWindows Vista対応に関する情報は、CDNにも掲載されています。以下の情報を併せてご覧ください。
  1. ビデオ - Delphi 2007 for Win32によるWindows Vista対応
  2. 第4回デベロッパーキャンプで実施したDelphi 2007 for Win32のVista対応に関するセッション
  3. 第4回デベロッパーキャンプ - 資料ダウンロード
  4. 同、セッション資料のダウンロードサービス


  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • EDN編集部(イーディーエヌ編集部)

    エンバカデロ・デベロッパーネットワーク(EDN)は、ソフトウェア開発者とデータベース技術者のための技術情報サイトです。Delphi、C++Builderをはじめとする開発ツールやER/Studioなどのデータベースツールに関連する技術記事、ビデオなどを提供しています。EDN編集部は、EDN記事と連携...

バックナンバー

連載:CDN CodeZine出張所
All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5