SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

CDN CodeZine出張所

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

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


  • X ポスト
  • このエントリーをはてなブックマークに追加

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. 同、セッション資料のダウンロードサービス

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
CDN CodeZine出張所連載記事一覧

もっと読む

この記事の著者

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

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/1963 2008/08/20 13:36

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング