---------------------------------------- RELNOTES.TXT ---------------------------------------- Delphi Developer 2.0 へようこそ。 このファイルには,今回のリリースの新しい機能,マニュアルやオンラインヘルプ に間に合わなかった情報,その他の技術情報が記載されています。 ---------------------------------------- 内 容 ---------------------------------------- 1. OLE/OCX 2. 強化されたデバッグ機能 3. Borland Database Engine (BDE) 4. InstallShield Express 5. 更新されたヘルプファイル 6. Internet Solutions Pack のヘルプ 7. Borland Pascal 7.0 との互換性 ---------------------------------------- 1. OLE/OCX ---------------------------------------- 今回のリリースでは,マイクロソフトの ActiveX 仕様をサポートするために OCX サポート機能が強化されています。Delphi の IDE に OCX をインストールすると, 新しい OCX インターフェースユニットが生成されます。Delphi の以前のバージョン で生成された OCX インターフェースユニットは,新しい機能の利点を活用すること ができません。 OCX インポートユニットジェネレータは,ProgID からユニット名をインポートす るのではなく,OCX ファイルの基本名をインポートユニットの推奨名として使うよう になっています。これによって,コントロールとその ProgID の (MSICP などの) 基 本名が同じになってしまう問題が解決され,またインポートユニット名が 8 文字を 超えないユニーク (一意) な名前になることが保証されます。 IPerPropertyBrowsing インターフェース ---------------------------------------- オブジェクトインスペクタで IPerPropertyBrowsing インターフェースがサポー トされ,特定の OCX プロパティに対して有効な値のリストが得られるようにな っています。OCX コントロールのいくつかでは,列挙型のかわりにこのインター フェースを使ってプロパティの有効値を示すようになっています。 状況関知型ヘルプ (F1) ---------------------------------------- フォームデザイナとオブジェクトインスペクタで OCX コントロールでの状況関 知型 (コンテキスト対応) ヘルプ (F1) が使用可能になりました。ただし,OCX コントロールには,型ライブラリにヘルプコンテキスト情報が入っていないもの もあります。 OLE オブジェクトメソッドを呼び出すコンポーネントメソッド -------------------------------------------------------- TSMTP.Connect などの OLE オブジェクトメソッドを直接呼び出すコンポーネン トメソッドにヌルパラメータを渡す,あるいはパラメータ「なし」で呼び出す方 法には次の 2 つがあります。 1) コンポーネントの OLEObject プロパティを参照します。 たとえば,あるメソッドが 5 つのパラメータをとる場合,次のようにすれ ば 3 つのパラメータをヌルとして指定できます。 MyComponent.OLEObject.Method(,,Param3,,Param5); 2) None という関数を定義して,コンポーネントのメソッドにその None を直 接渡します。 function None: Variant; begin TVarRec(Result).VType := varError; TVarRec(Result).VError := DISP_E_PARAMNOTFOUND; end; ... MyComponent.Method(None, None, Param3, None, Param5); 速度の点では 2 番目の方法が少し上ですが,OLE メソッド自体を実際にディス パッチするオーバーヘッドに比べれば小さな差です。 ---------------------------------------- 2. 強化されたデバッグ機能 ---------------------------------------- デバッグ中のプログラムで例外が発生したとき,デバッガは,その例外を生成し たマシン命令に最も近いソースコードを見つけて表示します。デバッガは,スタ ックフレーム (スタック上に置かれたマーカー) を使ってコールスタックをたど り,対応するソースコードのあるルーチンを探します。VCL のコアユニットはス タックフレーム付きでコンパイルされていないので,VCL のコアユニットで例外 が生成された場合,デバッガはエラーを起こしたソースコードを見つけられない ことがあります。 スタックフレームを有効にしてコンパイルした VCL が SLIB ディレクトリに入 っています。このスタックフレーム付きのユニットを使ってアプリケーションを 再コンパイルすれば,デバッガで実行時例外に対応するソースコードを見つけら れるようになります。 これらのファイルを使うには,SLIB の DCU ファイルが入っているディレクトリ をプロジェクトの検索パスに追加します。Delphi の IDE では[プロジェクト(P) |オプション(O)]を選択して[ディレクトリ/条件定義]ページを開き,[ディ レクトリ検索パス(D)]のリスト前に SLIB を追加します。同じダイアログの [コンパイラ]ページで[スタックフレーム(S)]オプションを有効にします。 以上の設定でプログラムを再コンパイルします。 SLIB ライブラリを使ってコンパイルしたコードは,いくらか大きくまた遅くな ります。アプリケーションを配布する前に元のライブラリに戻したい場合は, [ディレクトリ検索パス(D)]から SLIB を削除し,[スタックフレーム(S)]オ プションを無効にして,アプリケーションを再構築します。 ---------------------------------------- 3. Borland Database Engine (BDE) ---------------------------------------- 16 ビット BDE の新バージョン ---------------------------------------- Delphi の今回のリリースには 16 ビット BDE の新バージョンが含まれています。 BDE の 16 ビットと 32 ビット両方のバージョンを使いたい場合,旧バージョン 16 ビット BDE は使用できないので,新しい 16 ビットバージョンをインストー ルしなければなりません。16 ビット BDE の新バージョンは CD-ROM の DELPHI16\REDIST\BDEINST ディレクトリに入っています。 BDE 環境設定の互換性問題の解決 ---------------------------------------- Delphi の前回のバージョンでは,16 ビットと 32 ビットの BDE の環境設定に 互換性がなかったため,2 つの BDE 環境設定ファイルが入っており (SYB32.CFG と MSS32.CFG),同じシステムに両方のバージョンをインストールできませんで した。今回のバージョンでは,BDE の 16 ビットと 32 ビット間の非互換性は解 決されています。 Delphi 1.0 と 16 ビット BDE のインストール ------------------------------------------ Delphi 2.0 には,インストール可能な Delphi 1.0 の最新バージョンが入って います。これは CD-ROM の \DELPHI16 ディレクトリにあります。ここには, Delphi 1.0 に対応したバージョンの 16 ビット BDE も含まれています。 これより新しい 16 ビット BDE がインストールされている場合,インストール プログラムはそれを検出して,前のバージョンの BDE のインストールを省略す るかどうかをユーザーが指定できます。 Delphi 1.0 をインストールするときに 16 ビット BDE もインストールした場合 は,DELPHI16\REDIST\BDEINST ディレクトリにある 16 ビット BDE の最新バー ジョンもインストールする必要があります。 BDE アプリケーション ---------------------------------------- Windows NT 上で「書き込み」権のないディレクトリから BDE アプリケーション を実行する場合に生じる問題があります。システムに「temp」ディレクトリが定 義されていない場合,DbiInit を呼び出したときに DBIERR_OSACCESS エラー (OSでアクセスが拒否された) が発生します。動作を継続するには,temp ディレ クトリを作成する必要があります。temp ディレクトリの設定方法については Windows NT のマニュアルを参照してください。 DataPump Expert ツール (インターナショナルユーザー) --------------------------------------------------- テーブルをアップサイジングするときには,BDECFG32 でサーバーエリアスに設 定している言語ドライバが,サーバーの言語ドライバおよび文字セットと一致し ているかどうか確認してください。使用しているサーバーの設定については,デ ータベース管理者に確認してください。 サーバーによっては,メタデータ (テーブル名,インデックス名,項目名) 内で 拡張文字を使うときに制限のあるものがあります。このようなサーバーの制限を 回避するために,アップサイジングの前に DataPump を使って,項目,インデッ クス,およびテーブルの名前を変更することができます。DataPump の処理の最 終段階で[Modify Mapping For Selected Item]オプションを選択すれば,テー ブル名,インデックス名,および項目名を変更できます。詳細についてはオンラ インヘルプの「項目のインスペクトと変更」を参照してください。 ---------------------------------------- 4. InstallShield Express ---------------------------------------- BDE 部分インストール ---------------------------------------- ボーランドが推奨するのはあくまで BDE のフルインストールですが,ディスク 容量を最小にする必要がある場合には BDE の部分インストールも可能です。 ただし,BDE 部分インストールを使ってアプリケーションを配布する場合には, そのアプリケーションをサポートし,ユーザーに BDE の新しいバージョンを入 手させることについてボーランドは責任を負いません。 ノート:これらのファイルは,すでにインストールされている他の BDE アプリ ケーションに影響を与えないように一定の手順でインストールされます。 BDE 部分インストールを使う場合には以下の制限事項があります。 ・2 つ以上の BDE クライアントアプリケーションを同じマシン上で同時に実 行することはできません。システム上で BDE クライアントアプリケーショ ンがすでに動作している場合に,別の BDE クライアントアプリケーション を起動しようとすると次のエラーが発生します。 An Error occurred while attempting to initialize to Borland Database Engine (Error $210C)" ・BDE 部分インストールの場合,BDE の DLL ファイルはプログラムの実行デ ィレクトリに配置しなければなりません。 ・他の BDE アプリケーションがインストールされたときに,BDE ファイルが 自動的に更新されることはありません。 BDE のフルインストールを行えば,Borland Database Engine と BDE アプリケ ーションの将来のバージョンとの互換性の確保が容易になります。 Paradox for Windows,Visual dBASE for Windows,Delphi などの Borland Database Engine を使用するプログラムは,BDE 部分インストール を使う他のアプリケーションがすでにインストールされている環境では正しく動 作しない場合があります。 InstallShield のアンインストール ---------------------------------------- ・InstallShield Express は,プログラムをアンインストールしようとしたと きに,そのプログラムが実行されているかどうかをチェックしないので,フ ァイルのいくつかがディスクに残ってしまうことがあります。この問題を回 避するには,アンインストールを行う前にそのアプリケーションを終了する ようにしてください。 ・アンインストールの機能のテストは,開発用のマシンではなく,テスト専用 のマシンで行うようにしてください。アンインストールを行うと,他のアプ リケーションで必要とするレジストリエントリやファイルが削除されること があります。 InstallShield の問題点 ---------------------------------------- ・プロジェクトステップの 1 つから離れると,インストールスクリプトは更 新されます。すでに通過したステップに変更を加える場合は,まず,そのス テップに対する設定を削除してからプロジェクトを保存します。これで,そ のステップに戻って変更を加えることができます。 例:[Setup Checklist]の[General Options]を選択し,ドライバ 2 つ を含む BDE 部分インストールを指定していたとします。後になってドライ バを 1 つ追加することにしました。この場合には,[General Options]を 選択して[InstallShield BDE Object]のチェックをはずし,[OK]をクリ ックして,それまでの BDE の設定を削除しなければなりません。 ・大規模なプロジェクトでは,[Choose Folder]ダイアログボックスでフォ ルダを選択したときに,[Destination Location]ダイアログを表示する前 に,アプリケーションがユーザーへの通知なしにバックグラウンドで多くの 動作を行う場合があります。 ・場合によっては,ネットワークドライブにファイルをコピーするときに, InstallShield が誤ってディスク容量不足のエラーを出すことがあります。 実際のディスク容量は十分あるのにこのエラーが出る場合には,プロジェク トをローカルに構築してから,[Setup Checklist]の[Copy to Floppy] オプションを使ってディスクイメージをネットワークドライブにコピーして ください。 ・プロジェクトで,ドライブのルートディレクトリにファイルをコピーする場 合,サブディレクトリの作成が行えません。 たとえば,ユーザーが SETUP.EXE でアプリケーションを C:\ にインストー ルする場合,SETUP.EXE がサブディレクトリを作成しようとしたときにエラ ーになります。C:\TEST\ などにインストールする場合は問題ありません。 ・[Copy to Disk]オプションによるネットワークドライブへのファイルのコ ピーは,NTFS 上ではうまくいきません。 ---------------------------------------- 5. 更新されたヘルプファイル ---------------------------------------- 今回のリリースで以下のヘルプファイルが新しくなっています。 ・DELPHI.HLP ・VCL.HLP ・OBPASCAL.HLP ・CWG.HLP ・WIN32.HLP IDE での〔F1〕と[ヘルプ]ボタンのサポート ------------------------------------------ 多数あった状況関知型 (コンテキスト対応) ヘルプの誤ったジャンプ先ヘルプト ピックが修正され,IDE の[ヘルプ]ボタンで表示されなかった多数のトピック が追加されました。 WIN32.HLP のパス ----------------------------------------- WIN32.HLP をインストールする製品は Delphi も含めてたくさんあります。 WIN32.HLP をインストールしていた製品のどれかがアンインストールされた場 合,Windows ディレクトリにある WINHELP.INI ファイルに,存在しなくなった パスで WIN32.HLP を探すことを指定するエントリが残ってしまうことがありま す。 このような場合に,コードエディタで Windows API 関数を選択して〔F1〕を押 すと,なにもメッセージのないエラーダイアログが表示されることがあります。 [キャンセル]を 2 回押せばヘルプが普通に表示されるようなら,WINHELP.INI を変更して,次のいずれかの処理を行う必要があります。 ・WIN32.HLP のパス指定を C:\PROGRAM FILES\BORLAND\DELPHI 2.0\HELP に変更する あるいは ・WIN32.HLP についての WINHELP.INI ファイルのエントリを削除する ジャンプとリンク ---------------------------------------- 新しい Delphi 2.0 ヘルプでは,多数のジャンプ先およびリンク先の誤りが修正 されています。また,既存のいくつかのトピックと新しいトピックにジャンプと リンクが追加されています。 新しいトピック ---------------------------------------- Delphi ヘルプに新しいトピックが多数追加されました。主なものは以下の通り です。 DBLogDlg,DBPWDlg の各ユニット,問い合わせ (および問い合わせに関する 他のトピック),TApplication,TBatchMove,TBits オブジェクト (および 関連エントリ),TChangeLink オブジェクト,TColorDialog,TConversion オブジェクト (および関連エントリ),TDatabase,TDataModule,TDataSet, TDBGrid (および関連エントリ),TDBLookupComboBox,TDBLookupListBox, TDragControlObject オブジェクト,TDragObject オブジェクト (および関 連エントリ),TField および TFieldDef,TFontDialog,TForm,TImageList (および関連エントリ),TNumericField コンポーネント,TOleContainer コ ントロール (および関連エントリ),TOpenDialog,TPanel,TParam, TPrintDialog,TQuery,TRegIniFile,TRegistry,TReport,TRichEdit, TSession,TStoredProc,TTable,TThread の各オブジェクト (および関連 エントリ) WIN32.HLP ----------------------------------------- WIN32.HLP にブラウズシーケンスが追加されました。 DELPHI.HLP ----------------------------------------- 「Reusing Forms as DLLs」の下のトピック「Declaring Interface Routines」 に,新しく拡張した例が入っています。 ---------------------------------------- 6. Internet Solutions Pack のヘルプ ---------------------------------------- Internet Solutions Pack 用に,以下のヘルプファイルが Windows のシステム ディレクトリにインストールされます。 APPA.HLP CONVENT.HLP FTPCLINT.HLP GENERIC.HLP GETSTRT.HLP HTML.HLP NNTP.HLP OCXSDK.HLP POP.HLP SDGLOSHL.HLP SMTP.HLP TCP.HLP UDP.HLP ---------------------------------------- 7. Borland Pascal 7.0 との互換性 ---------------------------------------- ・Borland Pascal 7.0 形式のオブジェクト変数を,オープン配列コンストラ クタに引数として渡すことはサポートされていません。 ・Delphi のクラスでは,Borland Pascal 7.0 の Fail 手続きを使ってはなり ません。 ・ObjectWindows Library (OWL) コードは Delphi 2.0 ではコンパイルできま せん。 ---------------------------------- 終わり ----------------------------------