SHOEISHA iD

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

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

CDN CodeZine出張所

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

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


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

Windows Vistaに対応するだけでなく、XPなど従来のWindowsにも対応したアプリケーションを開発できます。

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

はじめに

 Windows Vistaがリリースされてから1年。OSのリプレースは、一気に進むことはなくても、徐々にVistaマシンが増加しています。多くの開発者は、積極的にVista向けのアプリケーションを開発することはなくても、アプリケーションをVista対応する必要性が増しています。

 ここで言うVista対応とは、Vista環境でアプリケーションが正常に動作することに加えて、既存の環境でも動作することです。つまり、Vista向けに完全に新しいアプリケーションを作成するのではなく、従来のXPなどのWindowsプラットフォームで動作するアプリケーションが、同じくVistaでも動作することが求められているのです。

 Vistaをまったく新しいプラットフォームと捉えて、その環境向けの新規アプリケーションを開発することは、それほど難しいことではありません。しかし、現実には既存のWindowsプラットフォーム向けに開発されたアプリケーション資産があり、これらをうまくVistaに適合させていかなければなりません。また、新規に開発する場合でも、「Vistaだけ」というわけにはいかず、引き続き従来プラットフォームもサポートしていかなければならないケースがほとんどです。

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

 CodeGearが提供しているDelphiは、既に10年以上の歴史を持つWindows向けのビジュアル開発ツールです。姉妹製品であるC++Builderとともに、共通する特徴は、コンポーネントフレームワークVCL(Visual Component Library)です。VCLは、ドラッグ&ドロップによるマウス操作とプロパティ/イベントによる簡単な設定でアプリケーションを開発可能にする強力なフレームワークです。VCLは、Windows APIをカプセル化し、高度なユーザーインターフェースを、簡単なビジュアル操作で利用可能にしています。

 このWindows APIをカプセル化するレイヤーの存在は、OSの差異をうまく吸収します。Vista特有の機能に対応するために既存のコンポーネントに新機能を追加しつつ、従来OSでは従来どおりの動きを可能にしています。

 本稿では、DelphiのVista対応の機能をいくつか紹介するとともに、Vistaで変更されたさまざまな機能や仕様に、既存アプリケーションを適合させていくポイントを紹介します。なお、ここで紹介する内容は、基本的にC++Builderにも適用できます。

Windows Vistaについて

 本稿では、Windows Vistaのイノベーションについて詳細に触れることはありませんが、セキュリティ、信頼性、使いやすさにフォーカスして多くの改善がなされているという点を理解しておかなければなりません。このために、いくつかの改良が、従来OSとの互換性を損なっている場合もあります。

 互換性の問題が起こりうる典型的なケースを以下に示します。

  • 管理者権限での動作を想定している(セキュリティ上重要なリソースへのアクセス)
  • 古いOSの機能を利用している
  • OSのバージョンに強く依存している
  • 内部的なシステムコールやデータ構造を使用している
  • 潜在的な不具合
  • UIの描画に関する問題

次のページ
UACへの対処

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

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

もっと読む

この記事の著者

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

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

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング