Microsoft Visual Studio 6.0 Service Pack 4 リリース ノート
© 2000 Microsoft Corporation. All rights reserved.
メモ このリリース ノートには、Microsoft® Visual Studio® 開発ツール製品全体に関する更新情報が記載されています。インターネットからサービス パックのサブセットをダウンロードした場合、このファイルの一部のセクションは適用されません。サブセット版に適用される修正に関しては、Visual Studio セクションと、各製品のセクションに記載されています。
Microsoft Visual Studio 6.0 Service Pack 4 リリース ノートは、次のセクションから構成されています。
1. 詳しい情報を得るには
このサービス パックで修正された Visual Studio の問題、および最新の製品情報については、サポート技術情報 (http://www.microsoft.com/japan/support/) を参照してください。
最新の製品情報については、Visual Studio の Web サイト (http://www.microsoft.com/japan/developer/vstudio/) を参照してください。
本サービスパックに関する技術サポートにつきましては、本サービスパックを適用した製品に準じます。また、マイクロソフト テクニカル サポート オンライン (http://www.microsoft.com/japan/support/) もご利用いただけます。
2. ファイル バージョン
ファイル リストには、Visual Studio 6.0 サービス パックで提供されるファイルのファイル名、日付、バージョン番号、および Service Pack 4 CD 上におけるパスの一覧が記載されています。システム上のファイルが Service Pack 4 に含まれているかどうかを判定する方法については、「セットアップ プログラムによってインストールされるファイル」を参照してください。
3. 概要
Microsoft Visual Studio 6.0 Service Pack 4 は、既に判明している Visual Studio 6.0 の問題に対応しています。これらの修正は、次のように分類されます。
- Microsoft® Office、Microsoft® SQL Server、Microsoft® Windows® オペレーティング システム、Microsoft® Internet Explorer の更新またはアップグレードによって必要な修正
- ユーザーから要求された修正
- Visual Studio の以前のバージョンとの互換性に関する問題を解決するための修正
このサービス パックは、再頒布が可能な Visual Studio 6.0 のランタイム ファイルの一部で、既に判明しているバイナリ互換性問題にも対応しています。また、Microsoft® Visual C++® ランタイム コンポーネントのソース ファイルとデバッグ バージョンも用意されています。
Microsoft Visual Studio 6.0 Service Pack 4 には、Service Pack 1、2、3 の修正と、次の Visual Studio アプリケーションの更新が含まれています。
このサービス バックには、次のコンポーネントの更新またはアップグレード バージョンも含まれています。
4. インストール
Visual Studio のアプリケーションを更新および変更したときには、最新の修正が反映されるように、常にこのサービス パックをインストールしてください。サービス パックをインストールするときには、実行中のすべてのアプリケーションを事前に終了しておく必要があります。
インターネットからダウンロードしてインストールするには
- Microsoft Visual Studio サポート情報を参照します。
- サービスパックを展開するフォルダで、ダウンロードした [SetupSP4.exe] ファイルを実行します。
CD-ROM からインストールするには
使用しているコンピュータのオペレーティング システムの言語が検出され、次のいずれかのセットアップ プログラムが自動的に実行されます。
\jpn\SetupSP4.exe (日本語)
\enu\SetupSP4.exe (英語)
その他の言語のオペレーティング システムの場合は、英語バージョンのセットアップ プログラムが実行されます。
メモ 日本語、英語のサービス パック ファイルは、1 枚の CD-ROM に収録されています。
共通ディレクトリの設定を更新する
何らかの理由によって、Visual Studio の共通ディレクトリの設定が損なわれていることがあります。この場合は、Service Pack セットアップ プログラムがファイルを更新できないことがあります。Service Pack セットアップ プログラムが共通ディレクトリの設定を検出できない場合は、そのことを伝えるメッセージが表示されます。
このダイアログ ボックスが表示されたら、サービス パックをインストールする前に Visual Studio 製品をセットアップし直して、ディレクトリ設定を更新します。Visual Studio 製品が既にインストールされている場合は、製品の再インストールが最も簡単な解決方法です。
再セットアップするには
- コントロール パネルを開きます。
- [アプリケーションの追加と削除] をクリックします。
- [インストールと削除] タブをクリックします。
- [Microsoft Visual Studio 6.0] をクリックします。
- [追加と削除] をクリックします。
- Visual Studio Setup が開始したら、[再セットアップ] をクリックしてインストールを行い、不足しているファイルと設定を復元します。
4.1. Visual Studio 6.0 Service Pack 4 に必要な製品
このサービス パックには、次の製品が必要です。
このサービス パックを使用する場合は、次の製品を使用することを強くお勧めします。
一部の製品に固有な必要条件
一部の Visual Studio 6.0 製品には、Service Pack 4 をインストールする前に必要な条件があります。各製品の必要条件を確認するには、該当する製品名をクリックしてください。
4.2. Microsoft Data Access Components 2.5 のインストール
Visual Studio 6.0 Service Pack 4 には、Microsoft Data Access Components (MDAC) 2.5 が必要です。MDAC 2.5 がインストールされていない場合は、サービス パックをインストールする前にインストールしておく必要があります。MDAC 2.5 のインストールが必要な場合は、メッセージが表示されます。
MDAC 2.5 はシステム コンポーネントです。そのため、システムの言語設定に適した言語のバージョンをインストールする必要があります。システムの言語設定と一致しないバージョンをインストールした場合は、適切なバージョンの MDAC 2.5 を再インストールしてください。
MDAC 2.5 をインストールするには
- インターネットからダウンロードしてインストールする システムの言語設定に適したサービス パックをダウンロードします。MDAC 2.5 セットアップ プログラムの実行可能ファイルは、Visual Studio 6.0 Service Pack 4 の一部としてダウンロードされます。MDAC 2.5 をインストールするには、ダウンロード先のフォルダの [MDAC_typ.exe] ファイルを実行します。
- Service Pack CD-ROM からインストールする システムの言語設定に適したセットアップ プログラムを実行します。
\jpn\MDAC_typ.exe (日本語)
\enu\MDAC_typ.exe (英語)
MDAC 2.5 セットアップ プログラムの実行中に、コンピュータの再起動を求めるメッセージが表示された場合は、Visual Studio Service Pack 4 セットアップ プログラム (SetupSP4.exe) を実行する前に再起動する必要があります。
MDAC 2.5 ライブラリとヘッダー ファイルのインストール
MDAC 2.5 ヘッダおよびライブラリを使用するには、最新の Platform SDK をインストールし、INCLUDE および LIB パスをチェックして、正しいファイルが使用されていることを確認する必要があります。
最新の Platform SDK は、http://msdn.microsoft.com/downloads/sdks/platform/platform.asp からダウンロードできます。
4.3. 異なる言語バージョンのサービス パックのインストール
サービス パックのセットアップを実行すると、言語に適したファイルだけが更新されます。言語が異なる別の Visual Studio 6.0 製品がインストールされている場合は、各製品の言語に応じた [SetupSP4.exe] ファイルを実行し、Service Pack 4 をインストールする必要があります。
- Service Pack CD-ROM からインストールする場合は、オペレーティング システムの言語設定に応じたセットアップ プログラムが自動的に実行されます。オペレーティング システムの言語設定とは異なる言語バージョンの Visual Studio 製品をインストールしている場合は、手動で更新する必要があります。各製品の言語に応じた [SetupSP4.exe] ファイルが保存されている場所については、インストール セクションのディレクトリ一覧を参照してください。
- インターネットからサービス パックをダウンロードする場合は、各製品の言語に適したサービス パックをダウンロードする必要があります。
4.4. セットアップ プログラムによってインストールされるファイル
セットアップ プログラムは、サービス パックに含まれる一部のファイルをコンピュータにインストールしないことがあります。ファイルがコンピュータにインストールされていない場合、またはコンピュータにインストールされているファイルのバージョンが サービス パックに含まれるファイルのバージョンより新しい場合は、セットアップ プログラムはファイルを更新しません。
既に変更されているテキスト ファイルや非バイナリ ファイルなどは、セットアップ プログラムによって更新されません。セットアップ プログラムは、まずファイルのリソースからバージョン情報を検索し、上書きするファイルを決定します。ただし、テキスト ファイルや非バイナリ ファイルなど、一部のファイルにはリソース情報がありません。この場合は、タイムスタンプを使用して上書きするファイルを決定します。
バージョン情報が記録されていない Visual Studio ファイルで、タイム スタンプが Service Pack 4 に含まれるファイルのタイム スタンプより新しい場合は、上書きされません。日付が新しくなっている可能性のあるファイルは、ソース ファイル、ヘッダー ファイル、.ini ファイルなどです。
4.5. 製品の更新履歴を調べる
製品の最初のリリース以降に更新された内容を知るには、ファイルのプロパティでバージョン番号を確認します。
製品の更新状態を知るには
- ファイル リストを参照し、状態を確認したいファイルを探します。製品の更新履歴を完全に特定するには、複数のファイルを調べなければならないこともあります。
- エクスプローラを開き、マウスの右ボタンでファイルをクリックし、[プロパティ] をクリックします。
- [バージョン情報] タブをクリックし、表示されるバージョンとファイル バージョン表に記載されているバージョンを比較します。
4.6. Visual Studio 6.0 Service Pack のアンインストール
Visual Studio から、Service Pack だけをアンインストールすることはできません。
4.7. 既に確認されている問題
4.7.1. Windows 95 レジストリ サイズの限界
Windows 95 のシステム レジストリの SharedDLL キーのサイズは、64 KB に制限されています。そのため、インストール時に警告が表示されることがあります。この問題は、Windows 98、Windows NT、Windows 2000 の各システムでは発生しません。この問題は、次のいずれかの方法で回避します。
- Windows 98 にアップグレードします。
- コントロール パネルの [アプリケーションの追加と削除] で、使用しないプログラムをアンインストールします。アンインストールしたプログラムが使用していたレジストリ キーが削除されます。
- コンピュータに残しておきたいプログラムをアンインストールし、短いインストール パスを指定して再インストールします。再インストールしたプログラムによって、使用されるレジストリ スペースを節約できます。
- その他の解決策については、サポート技術情報の記事 J047737 を参照してください。
上の方法を 1 つ以上実行し、Visual Studio 6.0 Service Pack 4 セットアップ プログラム (SetupSP4.exe) を再実行します。
4.7.2. Internet Explorer 5 の Windows 95 へのインストール
Internet Explorer 5 を Windows 95 にインストールしている間に、次のエラー メッセージが表示されることがあります。"以前のセットアップが完了していません。Internet Explorer をセットアップする前に、コンピュータを再起動してセットアップを完了する必要があります。セットアップは終了します。" このエラーに対処するには、Service Pack 4 CD-ROM をドライブから取り出さずに、コンピュータを再起動してください。これで、Internet Explorer 5 をインストールできるようになります。
4.7.3. Office 2000 SR1 のインストール
Office 2000 SR1 をインストールした後に Windows NT オプション パックをインストールすると、msdatsrc.tlb が古いバージョンで書き換えられてしまいます。この問題を解決するには、Windows NT オプション パックのインストールの後に、Office 2000 SR1 をインストールします。
4.7.4. C2.DLL の上書き
C2.DLL は、属性が読み取り専用であっても、Service Pack 4 のバージョンで上書きされます。
4.7.5. STF ファイルが見つからない場合
Service Pack 4 のインストール時に、製品の SETUP.STF ファイルが見つからないと、その製品のファイルは更新されません。
Visual Studio 6 の日本語 (JPN) 版をインストールしている場合、このファイルは既定で C:\Program Files\Microsoft Visual Studio\Common\Setup\1041\setup.stf にあります。stf ファイルが置かれているディレクトリには、製品の言語バージョンに応じて、異なる 4 桁の名前が付けられています。stf ファイルが見つからない場合も、エラー メッセージは表示されず、セットアップは通常と同様に完了します。この場合、ActiveX コントロールや OCX ファイルなどは正常に更新されますが、Visual Basic 6 などの各製品は更新されません。この問題を回避するには、SP4 ソース ディレクトリのルートにある sp498ent.stf を、本来 stf ファイルがあるべきディレクトリにコピーします。次に、コピーしたファイルの名前を setup.stf に変更し、Service Pack 4 のインストール プログラム (setupsp4.exe) を再び実行します。これで、インストールされている Visual Studio 6 が、Service Pack 4 に更新されます。
4.7.6. 更新されたマージ モジュール
Service Pack 4 には、Visual Studio Installer または他の Windows インストーラ オーサリング ツールで使用するため、更新されたバージョンのマージ モジュール (.msm ファイル) が含まれています。これらのファイルは、セットアップではインストールされません。Service Pack 4 CD-ROM から \Microsoft Visual Studio\Common\Tools\Vsinst\Buildres のディレクトリへコピーしてください。
更新されたマージ モジュールの一部に含まれているファイルは、Windows 2000 製品版に含まれるファイルよりもバージョンが新しい場合があります。これら新しいバージョンのファイルは、Windows のファイル保護機能が原因で、Windows 2000 にインストールすることができません。そのため Windows 2000 では、新しいバージョンのファイルが、マージ モジュールによってインストールされることはありません (他のオペレーティング システムでは、新しいバージョンのファイルがインストールされます)。
これらの Visual Studio Installer プロジェクトに含まれるマージ モジュールを Windows 2000 で使用すると、タスクの一覧に "<マージ モジュール名> 内の 1 つ 以上のファイルがこのマシン上にインストールされているファイルのバージョンと異なります。" という警告メッセージが表示されます。
マージ モジュールに含まれるファイルと Windows 2000 に含まれるファイルの差異はごくわずかなので、通常はこの警告を無視しても問題ありません。ほぼすべてのアプリケーションは、Windows 2000 に含まれるバージョンのファイルで正常に動作します。マージ モジュールに含まれるバージョンのファイルは、今後リリースされる Windows 2000 サービス パックに同梱される予定です。
4.7.7. Service Pack 4 を Windows 2000 へインストールする
Service Pack 4 は、Windows 2000 の製品版にのみインストールできます。Service Pack 4 は、Windows 2000 のベータ バージョンまたは プレリリース版 Release Candidate バージョンでは正常に動作しません。
4.7.8. ターミナル サービスでのインストール
ターミナル サービスがインストールされた Windows 2000 Server で Visual J++ 6.0 をインストールすると、"プログラムをインストールするには、ターミナル サーバーがインストール モードである必要があります。コントロール パネルの [アプリケーションの追加と削除] を使ってプログラムをインストールすると、ターミナル サーバーは自動的にインストール モードになります。"というエラー メッセージが表示されます。インストール モードに変更してから、Visual J++ 6.0 をインストールしてください。再起動後ターミナル サービス戻り、再度インストール モードを変更し、Service Pack 4 をインストールしてください。
5. 修正について
Microsoft Visual Studio 6.0 Service Pack 4 には、Service Pack 1、2、3 のすべての修正が含まれています。
5.1. Microsoft Visual Studio
5.1.1. オートメーションの修正
5.1.1.1. Service Pack 3 で修正された問題
Service Pack 3 では、ランタイムに関する次の問題が修正されました。
- 実行時バインディングのメソッドの呼び出しで、出力専用の SAFEARRAY パラメータに、未割り当て配列を渡そうとすると失敗します。
5.1.2. データベース ツールの更新
5.1.2.1. Service Pack 4 で修正された問題
- J053446: Null 値を許可するビット列を作成できるようになりました。SQL Server 7.0 以降のデータベースでは、ビット列に Null 値を許可します。 Visual Database Tools の以前のバージョンでは、ビット列に Null 値を許可 しませんでした。
- J053449: 28 以上の有効桁数を持つ列を作成できるようになりました。SQL Server 7.0 以降のデータベースでは、データベース サーバーが -P オプションで起動されている場合に限り、10 進列の有効桁数を最大で 38 に設定できます。 Visual Database Tools の以前のバージョンでは、このように高い有効桁数を設定できませんでした。 今回のリリースで、この制限が解除されました。
- J053450: DBO 以外のユーザーとしてデータベースに接続し、そのユーザーが db_owner のメンバである場合、作成したテーブルの所有権は自動的に DBO に与えられます。Visual Database Tools の以前のバージョンでは、テーブルの所有権は、そのテーブルを作成したユーザーに与えられていました。
- J053451: Query Designer の用語が修正されました。Query Designer で集計クエリを作成するときに、[グリッド] ペインの [グループ化] 列に表示される項目の用語が次のように修正されました。
修正前 |
修正後 |
変数 |
分散 |
位置 |
Where 条件 |
StDevP |
標準偏差 (母集団) |
VarP |
分散 (母集団) |
SQL Server 7.0 または Access 2000 がインストールされているマシン上で Visual Studio 6.0 を使用している場合、このサービスパックをインストールすると、SQL Server Enterprise Manager または Access 2000 データベース プロジェクトでも修正後の用語が使用されます。
5.1.2.2. Service Pack 3 で修正された問題
- Oracle および Visual Studio Query Designer では、2 桁の年号が誤って解釈されます。システムの地域の日付設定によっては、Oracle および Query Designer が 2 桁の年号を誤って解釈したため、データが失われる可能性がありました。この問題は、Service Pack 4 で修正および更新されました。グリッド ペインでは、Query Designer は 4 桁の年号のみを Oracle に送信します。[SQL] ペインでは、Query Designer は、2 桁年号または 4 桁年号のどちらの日付形式でもユーザー入力を渡します。
既に確認されている問題
- SQL Server 2000 データベースをデザインすることは、お勧めできません。 通常は、Visual Studio 6.0 Service Pack 4 の Visual Database Tools を、SQL Server 2000 に接続した状態で使用しないでください。データベース構造を変更したり、クエリーまたはビューをデザインする必要がある場合は、代わりに SQL Server 2000 Enterprise Manager を使用してください。
Service Pack 4 で、SQL Server 2000 データベースのデータベース ダイアグラム、テーブル、またはビューを変更しようとすると、データベースへの変更が保存されないことを警告するメッセージが表示されます。この警告メッセージは、Visual Basic、Visual J++、または Visual InterDev 内で Visual Database Tools を使用すると表示されますが、Visual C++ 内では表示されません。警告メッセージの有無にかかわらず、Visual Studio 6.0 Service Pack 4 から SQL Server 2000 に加えた変更は保存されません。
Service Pack 4 の Visual Database Tools を使用すると、ストアド プロシージャおよびトリガを変更できるほか、データベース構造上で一部の読み取り専用で操作できます。ただし、SQL Server 2000 データベースのデータベース構造に対して操作する場合は、必ず SQL Server 2000 Enterprise Manager を使用することをお勧めします。
Service Pack 3 以前で、SQL Server 2000 データベースのデータベース ダイアグラム、テーブル、またはビューを変更すると、予期せぬ結果が発生する可能性があるため、 お勧めできません。
5.1.3. 破損したユーザー設定ファイルの検出
5.1.3.1. Service Pack 3 で修正された問題
Visual Studio は、破損したユーザー設定ファイルを検出し、破損しているファイルをマシンから削除するようになりました。この処理が行われると、Visual Studio は "予期しないエラーです。中止します。" というメッセージを表示します。次に Visual Studio を起動するときに、新しいユーザー設定ファイルが自動的に生成されます。
5.1.4. Windows 95 でのユーロ通貨記号のサポート
Microsoft オペレーティング システムでのユーロ通貨記号のサポート情報、または Microsoft Windows 95 Euro product update をダウンロードする方法については、http://www.microsoft.com/windows/euro.asp を参照してください。Microsoft Windows 98 および Windows NT 4.0 SP4 は、既にユーロ通貨記号に対応しています。
5.1.5. Internet Explorer 関連の修正
5.1.5.1. Service Pack 3 で修正された問題
Internet Explorer 5 と Visual Studio 6.0
Visual Studio 6.0 Service Pack 4 では、同一マシン上で Visual Studio 6.0 と Internet Explorer 5 を実行した場合に発生していた問題が解決されています。Internet Explorer 5 と Visual Studio 6.0 を同一マシン上で使用する場合は、Visual Studio 6.0 Service Pack 4 にアップグレードしてください。
Internet Explorer のバージョンと HTML の編集
インストールされている Internet Explorer のバージョンによって、HTML エディタでの要素の選択状態に違いがあります。要素とは、高さや幅を持つボタンやテキスト ボックスなどのことです。
Internet Explorer 4,01 では、要素の選択は次のように行われます。
- 要素を 1 回クリックすると、その要素に定義されているテキストを編集できます。
- 要素をもう 1 回クリックすると、要素が選択されるか、または要素にカーソルが移動します。
- 要素をダブルクリックすると、要素に定義されているテキストが選択されます。
Internet Explorer 5 では、要素の選択は次のように行われます。
また、エディタ上で表示を切り替えると、余白は、Internet Explorer 4.01 よりも Internet Explorer 5 の方が適切に保存されます。
5.1.6. Microsoft ActiveX Data Objects (ADO) のドキュメント
5.1.6.1. Service Pack 3 で修正された問題
The Microsoft® ActiveX® Data Objects のドキュメントが更新されました。詳細については、Visual Basic の ADO セクションを参照してください。
5.1.7. Microsoft Repository の修正
5.1.7.1. Service Pack 3 で修正された問題
Service Pack 4 に含まれる Microsoft® Repository のバージョンでは、Repository エンジンの性能が大きく向上しました。また、次の問題も修正されています。
- J047809、J047810: インターナショナル版 Microsoft SQL 7.0 サーバーに対して実行される Microsoft Repository は、mm/dd/yy 以外の書式の日付を扱えません。
- J047811: 多数のリポジトリ リレーションを扱う場合に、Repository エンジンがリレーションを自動的にデータベースにフラッシュする代わりに、オブジェクト キャッシュがいっぱいになったことを示すエラーを返します。
- J047812: 名前付きのリレーションに 261 文字以上の名前を設定しようとすると、Repository エンジンがエラーを返します。
- J047813: ワークスペースに 32 以上のオブジェクトが含まれる場合、Workspace.Contents コレクションが最初の 31 だけを返します。
- J047814: クライアントが SQL_CHAR 型のプロパティを設定しようとすると、Repository エンジンがメモリ不足エラーを返します。
既に確認されている問題
SQL 6.5 ベースのリポジトリでは、Service Pack 3 は yy/mm/dd 形式の発行日付による検索を禁止します。Visual Component Manager で、発行日付でコンポーネントを検索するには、SQL サーバーの日付書式の設定に関係なく、4 桁年号の日付または m/d/y 形式の日付を入力する必要があります。SQL 7.0 ベースのリポジトリに対する日付検索は影響を受けません。日付は SQL Server のデフォルト書式で入力します。
5.1.8. その他の修正された問題
5.1.8.1. Service Pack 4 で修正された問題
- J053444: [VSSP4] Service Pack 3 で HHCRTL.OCX と ITSS.DLL はアップデートされません。
- J053476:デザイン ビューでグリッドのサイズを変更すると、SQL Enterprise Manager でアクセス違反が発生する。
- J053449: スキーマ デザイナは、29 桁以上の decimal 型 と numeric 型をサポートしません。
- J053454: Visual Basic 6.0 の Click イベントで、コンボ ボックス (ComboBox) のテキストの設定ができません。
- J053455: [VB98:Printing] Printform 上で printer.orientation プロパティ の変更が有効になりません。
- J053456: ツールバー上で Separater 直前のボタンを削除すると、ツールバーにボタンが追加できません。
- J053457: [VBSP4] ランタイム上で Winsock コントロールのロードとアンロードを繰り返すと、メモリ リークが発生します。IDE 上でのこの問題は修正されました。
5.1.8.2. Service Pack 3 で修正された問題
ドイツ語版の Microsoft® FrontPage® 98 では、デザイン ビューでファイルを編集できない
Visual Studio 6.0 に含まれるドイツ語版の Microsoft FrontPage 98 では、HTML ファイルを編集できませんでした。この問題は、Visual Studio 6.0 Service Pack 3 で修正されました。
5.2. Microsoft Visual Basic
Microsoft® Agent 2.0
Visual Studio 6.0 と Visual Basic 6.0 に付属する Microsoft Agent は、新しいリリースをインターネットからダウンロードできます。Agent 2.0 は、Microsoft Agent の Web サイト (英語) からダウンロードできます。このサイトには、最新の Agent SDK (ドキュメントを含む)、HTML とコードのサンプル、登録に関する情報も用意されています。
また、Microsoft Office アシスタントに関連するドキュメント (日本語) は、http://www.asia.microsoft.com/japan/developer/officedev/techmat/misc/ からダウンロードできます。
Visual Studio Installer
Visual Studio Installer は、Visual Studio 6 のアドインで、Visual Basic アプリケーション用の Windows インストーラを作成するためのプログラムです。Visual Studio Installer は、Windows 2000 用のインストーラを作成する場合の推奨プログラムで、Windows 9x および Windows NT 4.0 用のインストーラも作成できます。最新の Visual Studio Installer は、Microsoft Visual Studio の Web サイト (http://www.asia.microsoft.com/japan/developer/vstudio/vsi) からダウンロードできます。
5.2.1. インストール情報
セットアップ プログラムは、テキスト ファイルや非バイナリ ファイルなど、バージョン情報が定義されていないファイルを、ファイルの日付に基づいて更新します。これらのファイルを事前に修正した場合、または、ファイルのタイムスタンプが Service Pack 4 に含まれるファイルのタイムスタンプより新しい場合は、そのファイルは更新されません。このようなファイルの例として、vb6dep.ini があります。詳細については、「4.4 セットアップ プログラムによってインストールされるファイル」を参照してください。
5.2.2. コントロールに関する問題
5.2.2.1. Service Pack 4 で修正された問題
コントロールに関する次の問題が修正されました。
- J053366: コンボ ボックス (ComboBox) コントロールの Click イベントで テキスト プロパティを設定すると、テキスト フィールドが空白になる。
- J053338: ツール バー (Toolbar) コントロールから削除したボタンは、[カスタマイズ] ダイアログ ボックスに表示されません。
- J053341: ツール バー (Toolbar) コントロールでボタンの順序を変更すると、画像の重複が発生します。
- J053457: ランタイム上で Winsock コントロールのロードとアンロードを繰り返すと、メモリ リークが発生します。IDE 上でのこの問題は修正されました。
- J053410: CausesValisation と HideSelection プロパティが "true" で、別のコントロールがフォーカスを失った際に Validate イベントから "キャンセル = true" が返されるにもかかわらず、ツリー ビュー (TreeView) コントロールの NodeClick イベントがトリガされます。
- J053342: インターネット トランスファ (Internet Transfer) コントロールの OpenURL メソッドが、ダウンロードしたファイルの内容を削除します。
- J053343: リスト ビュー (ListView) と ツリー ビュー (TreeView) コントロールでチェック ボックス (CheckBox) プロパティを "true" に設定すると、リソースが過剰に消費されます。
- J053340: 複数の Winsock コントロールの SendData メソッドを使用すると、最後に確立された接続以外がブロックされ、データが失われる可能性があります。
- J053344: Coolbar コントロールを含むフォームの Unload イベントで、End ステートメントを呼び出すと、"ページ違反" が発生します。
- バイト長が 0 の UDP パケットを受信すると、Winsock コントロールが応答しません。
- J053364: Access で リッチ テキスト (RichText) コントロールの ControlSource プロパティを設定すると、プレビュー モードに移行する際に "プロパティを設定できません。" というメッセージが表示されます。
- J053345: ユーザー コントロールのメニューで「ネゴシエート位置」を使用すると、リソースが過剰に消費されます。
- J053346: リスト ボックス (ListBox) コントロールの DoubleClick イベントで、Unload メソッドを呼び出すと "ページ違反" が発生します。
- J053374: 日本語版の Windows 98 上でコンパイルしたアプリケーションでは、テキスト ボックス (TextBox) と コンボ ボックス (ComboBox) コントロールの IMEMode プロパティによって、リソースが過剰に消費されます。
- J053377: Chart コントロールの PointSelected イベントでは、不正な DataPoint が返されます。
- J053378: ユーザー コントロール上に置かれた ピクチャ ボックス (PictureBox) コントロールの KeyDown イベントでは、Home、End、Page Up、および Page Down キーの KeyCode が返されません。
- J053385: タブ ダイアログ (SSTab) コントロールから表示されたモーダル フォームをダブルクリックすると、タブ ダイアログ (SSTab) コントロール上で MouseDown イベントが発生します。
- DataAdapter が OLE Simple Provider Datasource に再バインドされるたびに、データ グリッド (DataGrid) コントロールの現在の行が変更されます。
- J053386: IME を 2 バイト入力オプションをオンに設定して、リスト ビュー (ListView) コントロールにテキストを入力しようとすると、"ページ違反" が発生します。この問題は、日本語版の Windows 98 で日本語版の Visual Basic を使用すると発生します。
- J053384: リスト ビュー (ListView) コントロールは、VB4 実行ファイルに含まれる リスト ビュー (ListView) コントロールの SubItemIndex プロパティを読み取れません。
- J053395: Access 2000 データベースのバインドを試みると、データ (Data) コントロールによって "データ ベース形式 <ファイル名>.mdb を認識できません。" というエラーが報告されます。
- 特定の環境で、[プロパティ] ウィンドウでコントロール名を変更すると、Visual Basic 内で "ページ違反" が発生します。
- J053398: ネストした UserControl 上で、テキスト ボックス (TextBox) コントロールの DataSource プロパティを選択すると、"ページ違反" が発生します。
- J053400: MultiSelect プロパティを "true" に設定すると、リスト ビュー (ListView) コントロールがマウス イベントの認識に失敗します。
- J053402: 日本語のシステムでは、ダブル バイト文字を含む データ グリッド (DataGrid) コントロール内のセルに、方向キーを使用したアクセスができません。
- Outlook フォーム上に配置した DateTimePicker コントロールのサイズが、デザイン時と実行時で異なります。
- J053406: DataGrid コントロールで行をクリックしてナビゲートしても、更新が送信されません。
- J053416: クライアントの Winsock コントロールが、同一フォーム上の Winsock サーバー コントロールに接続できません。
- J053427: ユーザー コントロール上に配置された組み込みコントロールの Validate イベントによって、イタリア語版の Visual Basic でアクセス違反が発生します。
- J053362: LabelEdit プロパティを手動に設定すると、ListView コントロールが ItemClick イベントを 2 回生成します。
- リスト ビュー (ListView) コントロールのコントロール配列を作成および配置すると、"ページ違反" が発生します。
- J053429: 新規レコードの追加を繰り返しキャンセルすると、データ グリッド (DataGrid) コントロール内の誤った行にフォーカスが移ります。
- J053354: SingleSel プロパティが "true" に設定された ツリー ビュー (TreeView) コントロールのノードをクリックすると、誤ったノードが展開されます。
- ADO データ コントロールの DataSource プロパティをプログラムによって設定すると、リソースが過剰に消費されます。
- Visual Basic 6 のインストール後に Internet Explorer をインストールすると、リッチ テキスト (RichText) コントロールが Web ページ上での初期化に失敗します。
- 階層フレキシブル グリッド (Hierarchical FlexGrid) コントロールを含むフォームのロードとアンロードを繰り返すと、リソースが過剰に消費されます。
- 小数点の記号にカンマを使用していると、デンマーク語版の Visual Basic で、データ グリッド (DataGrid) コントロールの値が不正になります。
- 階層フレキシブル グリッド (Hierarchical FlexGrid) コントロールを含むフォーム上で、PalletMode プロパティを UseZOrder に設定すると "ページ違反" が発生します。
- UserControl の Initialize イベント内で、テキスト ボックス (TextBox) コントロールのプロパティを設定すると、データ連結が失敗します。
- J053365: レポート内では、リッチ テキスト (RichText) コントロールの内容が表示できません。
- J053388: CursorDriver プロパティが UseClientBatch に設定されると、RDC コントロールに連結されたテキスト ボックス (TextBox) のアップデートが正しくされません。
- J053411: Jet 4.0 OLE DB プロバイダ を使用すると、データ グリッド (DtaGrid) コントロールを使用してデータのアップデートができません。
- J053412: Windows 98 上で、チェック ボックス (CheckBox) コントロールから Unload を呼び出すと、一般保護エラーが発生します。
- J053420: ピクチャ ボックス (PictureBox) 内で Windows メタファイル (.wmf) を表示すると、リソースが過剰に消費されます。
- J053353: データ コンボ (DataCombo) コントロールに連結すると、ADO レコードセットの EditMode プロパティは正しく設定されません。
- J053432: データ コンボ (DataCombo) または データ ソース (DataSource) コントロール上で、RowSource プロパティを変更すると、BoundColumn プロパティで不正に参照されます。
- J053433: Windows NT 4.0 上で、コントロール配列から DBGrid をアンロードすると、一般保護エラーが発生します。
- J053439: FieldChangeConplet イベントは、UserContorl 内のテキスト ボックス (TextBox) コントロールから正しく呼び出せません。
5.2.2.2. Service Pack 3 で修正された問題
コントロールに関する次の問題が修正されました。
- Excel と一緒にリッチテキスト ボックス (RichTextBox) コントロールを使用した場合に、"ページ違反" が発生します。
- J047708: ウィンドウを持たない透明なコントロールをフレーム (Frame) コントロールに追加すると、フレーム コントロールが正しく表示されません。
- J047709: Visual Basic は、ライセンスのない MFC コントロールを実行時に動的にロードしません。
- J047723: 行の変更が行われる前にスクロール先に新しい行が表示されていないと、データグリッド (DataGrid) コントロール の RowColChange イベントが発生しません。
- J047733: DTPicker コントロールの MinDate プロパティおよび MaxDate プロパティは実行時に設定できますが、有効なのは、最後のプロパティ セットだけです。
- J047783: Calling Method in User Ctrl w/ParamArray Causes Fatal Exception During Compile. ParamArray で ユーザー コントロール内のメソッドを呼び出すと、コンパイル中に致命的な例外が発生します。
- J047784: データ グリッド (DataGrid) コントロールの SelChange イベントで MsgBox を使用すると、Visual Basic で "ページ違反" が発生します。
- J047793: Internet Explorer をホスト アプリケーションとする UserControl では、一部のアクセス キーとテキスト制御のキーボード ショートカット (Shift + Ctrl + End キーなど) が無視されます。
- J047797: DataMemberChanged イベントは、UserControl と併用すると正常に機能しません。
- J047787: 新しいレコードのフィールド値がプログラムによって設定されると、データ グリッド (DataGrid) コントロールはそのレコードを追加できません。
- J047788: データグリッド (DataGrid) コントロールの MouseUp イベントおよび MouseDown イベントでは、Button 引数が常に 0 になります。
- J047790: DataReport に含まれるテキスト ボックス (TextBox) コントロールの DataFormat プロパティにブール型の値として Null 以外の値を追加すると、アプリケーション エラーになります。
- J047792: MDAC 2.1 でデータ グリッド (DataGrid) コントロールを使用すると、列のサイズが失われ、列が左側に集中します。
- J047803: コモン コントロールのツール バー (Toolbar) コントロールをカスタマイズすると、ボタンが拡大表示されます。
- J047801: チャート (MSChart) コントロールの AxisScaleType プロパティに対数を設定すると、Visual Basic が応答しなくなります。
- PowerPoint をホストとするリッチ テキスト ボックス (RichTextBox) コントロールのプロパティ ページで、"プロパティの値が不正です" というエラーが発生します。
- パブリックなユーザー定義型 (UDT) を含み、UserControl を持つ .exe ファイルをコンパイルし、実行すると、Visual Basic 6.0 でオートメーション エラーが発生します。
- データ グリッド (DataGrid) コントロールの水平スクロール バーのつまみをクリックすると、非表示の列 0 が表示されます。
- フォーム上でツリー ビュー (TreeView) コントロールの展開、折り畳みを行うと、エラー、プログラムの停止、ノード関連の問題が発生します。
- ADO データ (ADODC) コントロールの Recordset プロパティを、階層上の子レコードセットに設定しようとすると、"'Recordset' メソッドは失敗しました: 'Iadodc' オブジェクト" というエラー メッセージが表示されます。
- データ グリッド (DataGrid) コントロールの BeforeColUpdate イベントでは、イベントが発生する前にデータがバッファに送られます。たとえば、DataGrid1.Columns(1).Value は、セルの編集後の内容ではなく、編集前のセルの内容を返します。
- OLE-DB が連結された階層フレキシブル グリッド (MSHflexGrid) コントロールが、Internet Explorer でクラッシュします。
- UserControl の DataField プロパティのコンボ ボックス (ComboBox) をクリックすると、DataMember プロパティが空白になります。
- MSFlexGrid コントロールの MergeCells プロパティを Restrict に変更すると、MSFlexGrid コントロールの実行が停止します。
- イメージ リスト (ImageList) コントロールに含まれるイメージのサイズを変更すると、システムが応答しなくなります。
- データ コントロールに結合されたデータ グリッド (DataGrid) コントロールが使われているプロジェクトを 2 回以上実行すると、PowerPoint または Word で、水平および垂直スクロール バーが正常に機能しなくなります。
- Locked プロパティを True に設定したテキスト ボックス (TextBox) コントロールで SendKeys を使用すると、余分なイベントが発生します。
- Visual Basic 6.0 のコントロールを Office アプリケーションに埋め込むと、正常に機能しません。
- リッチテキスト ボックス (RichTextBox) コントロールを含む ActiveX DLL フォームを閉じると、Visual Basic が応答しなくなります。
- パブリックなユーザー定義型を含む UserControl に対し、With ステートメントを使用しているプロジェクトをコンパイルすると、Visual Basic が停止します。
- ツリー ビュー (TreeView) コントロールからノードを削除すると、Visual Basic が停止します。
5.2.3. 各国語版製品の問題
5.2.3.1. Service Pack 3 で修正された問題
各国語版製品に関する次の問題が修正されました。
- J047743: 英語以外のヨーロッパ言語のバージョンの Visual Basic では、ブール値がローカライズ先の言語に変換されます。たとえば、Windows の地域の設定をスウェーデン語に設定している場合は、b = True という設定の b の値が "Sant" に変換されれます。
- J047806: フランス語、イタリア語、スペイン語版の Visual Basic では、Repository アドインを追加し、リポジトリにコントロールの詳細を追加すると、エラーが発生します。
- J047799: 日本語版の Windows OSR2.5 で Visual Basic 6.0 を実行する場合、コマンド ボタン (CommandButton) コントロールを使用すると、メモリ リークが発生します。
- Windows 98 で日本語版の Visual Basic を使用する場合、MDI 子フォームをアンロードしようとすると、"ページ違反" が発生します。
- ドイツ語版の Visual Basic では、HTML ファイルを変更し、[Close All] をクリックした後に Web プロジェクトを作成すると、予約エラーが発生します。
- 韓国語版の Visual Basic Data Environment では、既定のグループ化コマンド名を使用すると、エラーが発生します。
- 日本語版の Visual Basic では、IME を使用して日本語のプロシージャ名を設定し、そのプロシージャを実行すると、名前が変更されます。
- 韓国語版の Windows では、カスタム コントロールの KeyDown イベントまたは KeyUp イベントを監視するように標準コントロールを設定すると、[IME Interim] ウィンドウが誤って表示されます。
- フランス語版の Visual Basic では、DHTML Page デザイナと HTML Selectコントロールおよび HTML List コントロールの Width、Height、Left、Top など、一部のスタイル属性の名前が英語からフランス語に変換されます。
- 日本語以外のシステムでは、StrConv 関数は日本語の文字セットをサポートしません。
- DBCS 文字に対し、RDO GetChunk メソッドを使用すると、不正な文字列が生成されます。
- 韓国語版の Windows で Visual Basic に DBCS 文字を入力すると、[IME Level 3] ウィンドウではなく、[IME Level 2 interim] ウィンドウが表示されます。
5.2.4. Microsoft ActiveX Data Objects (ADO) のドキュメント
5.2.4.1. Service Pack 3 で修正された問題
Visual Studio 6 Service Pack 3 をインストールすると、Microsoft ActiveX Data Objects (ADO) に関する更新されたドキュメントもインストールされます。ADO 2.1 の更新されたドキュメントは、Windows ディレクトリの [Help] フォルダに保存されます。Microsoft Data Access Components 2.1 をインストールし、Microsoft ActiveX Data Objects 2.1 ライブラリへの参照を設定すると、Visual Basic ユーザーは状況依存ヘルプ (F1) で、このドキュメントを表示できます。
ADO 2.1 ライブラリへの参照を設定するには
- [プロジェクト] メニューの [参照設定] をクリックします。
- [Microsoft ActiveX Data Objects 2.1 Library] が選択されていることを確認します。
- [OK] をクリックします。
状況依存ヘルプは、ADO 2.1 のオブジェクト、コレクション、メソッド、プロパティについて使用できます。F1 キーを押すと、MSDN ライブラリではなく、スタンドアロン形式の ADO 2.1 ヘルプが表示されます。
5.2.5. ディストリビューション ウィザードの問題
5.2.5.1. Service Pack 4 で修正された問題
- J047950: ネストした CAB ファイルが他の CAB 内のファイルを参照していると、ファイルが正しく見つけられません。
- ActiveX Document .Exe プロジェクトから生成されたパッケージ内のCLSID が見つからない。
- J053333、J047784: Internet Explorer 5 および Page Designer を使用したアプリケーションを配布するために、ディストリビューション ウィザードを使用すると、[不足している依存情報] ダイアログ ボックスが表示されます。
- Visual Basic のドイツ語、フランス語、イタリア語、またはスペイン語版で作成したアプリケーションを配布すると、そのアプリケーションを英語 (US) 版システムにインストールする際に "型が一致しません。" というエラーが発生します。
- J053349: ユーザー定義型配列をパラメータとして含む UserControls は、配置中、登録に失敗します。
- 再起動中にコピーされたログ ファイルにコードを追加すると、セットアップが異常終了します。
- セットアップ パッケージに、単独で 64 個以上のファイルを含む .CAB ファイルが含まれていると、再起動が無限に繰り返されます。
- Microsoft Scripting ランタイム ライブラリの CAB ファイルが正しくダウンロードされません。
- セットアップ パッケージは、ブートストラップのアップデート中に、再起動が無限に繰り返されます。
- J053438: Windows 2000 上で作成されたパッケージを、他のオペレーティング システムにインストールした場合、再起動が無限に繰り返されます。
5.2.5.2. Service Pack 3 で修正された問題
ディストリビューション ウィザードに関する次の問題が修正されました。
- J047731: ディストリビューション ウィザードを実行し、[標準セットアップ パッケージ] を選択すると、[依存情報が最新ではありません] ダイアログ ボックスに COMCT332.OCX が表示されます。
- J047795: UserControl を使用するアプリケーションを Active Desktop へインストールすると、Windows のシャットダウン中にエラーが発生します。
- イタリア語版の Visual Basic で PDWizard を実行すると、"Type Mismatch" エラーが発生します。
- Visual Basic のセットアップ中、MSRDO20.DLL ファイルの登録に不正な動作が発生します。
- 日本語版の Visual Basic に含まれる階層フレキシブル グリッド (HFlexGrid) コントロールの依存情報ファイル (MSHFLXGD.dep) には、サテライト DLL に関する無効な情報が含まれています。
- プロジェクトの [(オブジェクト名)] プロパティに DBCS 文字がある場合は、ディストリビューション ウィザードで "セットアップを続行できません。" というエラーが発生します。
- 一時フォルダが、システム フォルダと同じドライブ上に存在しているにもかかわらず、
"TEMP フォルダがシステムフォルダと同じドライブにありません。セットアップを続行できません。"
というエラー メッセージが表示されます。
- ディストリビューション ウィザード セットアップ プログラムが Msvcrt.dll ファイルを上書きできず、"セットアップ先のファイルは、他のアプリケーションで使われています。使用中のアプリケーションを終了してください。" というエラー メッセージが表示されます。
- Visual Basic アプリケーションをアンインストールすると、st6unst.exe ファイルの実行時にクラッシュします。
- 繁体字中国語版または簡体字中国語版の Visual Basic で PDWizard を使用すると、DataEnviroment を持つプロジェクトのパッケージ時に、"Missing relative file" というエラー メッセージが表示されます。
- ディストリビューション ウィザードで作成されたセットアップ プログラムを使用して、Visual Basic 6.0 アプリケーションをインストールするときに、[ディレクトリの変更] ダイアログボックスで、ドライブ名が割り当てられたネットワーク ドライブを選択できません。
5.2.6. COM DLL のランタイム エラー
5.2.6.1. Service Pack 3 で修正された問題
この Service Pack では、Microsoft Visual Basic に関する次の問題が修正されています。この修正は、Service Pack 3 にも含まれています。
5.2.7. その他の問題
5.2.7.1. Service Pack 4 で修正された問題
その他、次の問題が修正されました。
- J053337: 現在のプリンタでページ方向が縦に設定されていると、Printer.Orientation プロパティが Printform メソッドによって無視されます。
- J053339: ネストした UserControls は、Internet Explorer で印刷に失敗します。
- J053356: コントロールまたはユーザー コントロールで、Validate イベント内でモーダル フォームを表示すると、モーダル フォーム上でフォーカスされているコントロールの MouseDown イベントが発生します。この問題は、Validate イベント内で "Cancel = True" に設定することで回避できます。
- NT サービスから、VB で作成した .Dll のロードとアンロードを繰り返すと、RetainInMemory を False に設定した際に "ページ違反" が発生します。
- J053370: ActiveX .Exe からのモーダル フォームを長時間にわたり表示し続けると、リソースが過剰に消費されます。
- J053373: 多数のフォームが含まれているプロジェクトでは、DataSource プロパティのリスト ボックス (ListBox) のロードに時間がかかる。
- フォーム上に複数の UserControls が存在する場合、Windowless UserControls が正しく描画されません。
- BackStyle プロパティが透過に設定されていると、Shape コントロールを含む Windowless UserControls が正しく描画されません。
- J050838: VB IDE で実行すると、Visual Studio SP3 WebClass ランタイムによって HTML ページが正しく表示されない可能性があります。
- J053347: Web サーバー上の SessionState を無効にすると、WebClasses のロードに失敗します。
- J053375: DataEnvironment 内でコマンドを並べ替えると、"ページ違反" が発生します。
- J053348: フォームに UserControl を追加すると、フォームのタイトル バー上の Mouse イベントが失敗します。
- J053379: Visual C++ で作成した ATL.DLL を Visual Basic プロジェクトに追加すると、登録に失敗します。
- J053383: Printer オブジェクトを "なし" に設定すると、"ページ違反" が発生します。
- J053387: standard .EXE から .DLL に含まれる新規スレッド上にオブジェクトを作成すると、すべてのスレッドで [モーダル] ダイアログ ボックスを表示できません。
- J053389: 他の非 MTS VB6 GlobalMultiUse COM コンポーネントを参照する Microsoft Transaction Server に、VB6 COM コンポーネントを登録すると、アクセス違反が発生します。
- J053390: 一部のドット マトリクス プリンタでは、Printer オブジェクトの Height プロパティを設定した際に、不要な排紙が行われる。
- J053391: 複数の MDI 子フォームを連続してすばやく閉じると、"ページ違反" が発生する場合があります。
- J053392: ページ方向を横に設定して、Data Report から HTML にレポートをエクスポートすると、"レポートの幅が用紙の幅より大きく指定されています" というエラー メッセージが表示されます。
- J053394: DataReport の印刷時にページ方向を横に設定しても、[印刷] ダイアログ ボックスのページ方向は、常に既定の縦に設定されます。
- J053399: Double データ型を返す関数に続くコードに行番号を使用すると、実行ファイルのコンパイル時にアクセス違反が発生します。
- J053401: DataSource オブジェクトへの参照をあらかじめ設定せずに、ActiveXControl Interface ウィザードに含まれる UserControl の DataSource プロパティを設定すると、"ページ違反" が発生します。
- J053403: Internet Explorer 5 では、DHTML ページを表示してから Internet Explorer ウィンドウを閉じると、アクセス違反が発生します。
- J053357 モーダル フォームを表示してから DataReport を表示すると、アクセス違反が発生します。
- J053405: UserControl に、別の UserControl 上にある ADO データ コントロールへの参照が含まれていると、プログラムの終了時に "ページ違反" が発生します。
- データが連結された UserControl の PropertyChanged メソッドを呼び出すと、基になるデータ ソースの更新に失敗します。
- J053359 ADO Recordset の CanselUpdate メソッドを呼び出した際に、データの検証が発生します。
- J053409: ActiveX .DLL に含まれる RDO UserConnection によって、リソースが過剰に消費される場合があります。
- J053351: WebClass プロジェクトは、Windows 2000 Advanced Server 上では実行できません。
- J053422: 遅延バインドおよび通貨データを大きい値とともに使用すると、不正な結果が返されます。
- J053423: Windows 98 では、UserControl を含むフォームの PrintForm メソッドによって、"ページ違反" が発生します。
- Visual Basic 6 の Service Pack 3 では、Project 98 への参照を含むプロジェクトをコンパイルすると、"ページ違反" が発生します。
- Visual Basic で #If 条件コンパイル定数を使用すると、"ページ違反" が発生します。
- J053425: UserControl で Backstyle プロパティが透過に設定されている時に、MaskPicture プロパティを設定すると、リソースが過剰に消費されます。
- J053437: ADO のバージョン 2.0 以降では、Data Environment と The ADO データ コントロールで "型が一致しません。" エラーが発生します。
- DAO バージョン 3.6 を使用する Access 2000 データベースは、DataForm ウィザードでは認識されません。
- Windows 2000 では、DataReport の [エクスポート] ダイアログ ボックスの [ページ範囲] フィールドに入力した値が無視されます。
- <クエリーに Like 節が含まれていて、その Like 節に単一のアンダースコア ワイルドカード文字が含まれていると、DBCS 日本語カナ文字を使用した際に不正な結果が返されます。
- 固定文字列を含むユーザー定義型は、Unicode から ANSI 文字セットへ正しく変換されません。
- DetaReport のページ方向をプログラムによって設定できません。
- 配列オブジェクトがアウト プロセス サーバーに渡されると、リソースが過剰に消費されます。
- バリアント変換関数は、Windows 2000 上で異なる結果が生じます。
- J053368: データ レポートを含むプロジェクトで、モーダル フォームを表示すると "ページ違反" が発生します。
- J053372: Expression service が開始すると、イベントの監視が停止します。
- J053380: DoEvents を呼び出さずに、長い時間実行すると、リソースが過剰に消費されます。
- J053382: rdoResultSet から SQL Server 7.0 に対して BatchUpdate の実行後、BatchCollisionCount は不正な結果を返します。
- J053408: Microsoft Repository への参照を含む .dll のコンパイル中に一般保護違反が発生します。
- J053396: マルチスレッド .dll をロードすると一般保護違反が発生します。
- J053413: Windows 2000 上で、ASP を使用して Visual Basic IDE で .dll を作成することができません。
- J053414: RDO は、SQL Server 7.0 データベースの SQL_BIG_INT 値を正しく認識できません。
- J053361: MFC コントロールを含む UserContorol をコンパイルすると、Visual Basic の終了時に一般保護違反が発生します。
- J053418: 最適化されたコードを使用すると、浮動小数点の比較は不正な結果を返します。
- J053363: HTML ファイルに DataReport をエクスポートすると、エラーメッセージが表示されます。
- J053421: サイレント モードでは、VB6 Runtime CAB (vbrun60sp3.exe) は実行できません。
- J053424: SQL Server 用の ADO と OLE DB プロバイダを使用すると、"新規取得する前に、すべての行ハンドルを解放する必要があります" というエラーが発生します。
- J053426: MST ライブラリ パッケージの複数の VB6 .dll は、クライアント アプリケーション終了時に一般保護違反させることがあります。
- Q257634: Windows 9x で、Printer オブジェクトを "Nothing" に設定すると"ページ違反"が発生します。
- J053430: Orientation プロパティを変更すると、Printer オブジェクトは、"通常使うプリンタ" に設定されているプリンタを正しく見つけることができません。
- J053431: ロードされた UserContorlは、連結テキスト ボックス (TextBox) コントロールの DataSource のアップデートに失敗します。
- J053434: 他の UserControl に埋め込まれた UserControl の ExitFocus イベントが正しく動作しません。
- J053436: ADO 接続を利用して Access 97 データベースにアクセス中に、2 バイト文字列セットを使用すると、エラーが発生します。
- ダウンロード中の Service Pack 4 の言語バージョンと、インストールされた Visual Studio の言語バージョンが違う場合エラーが発生します。
- J053416: コンピュータの起動時に、"仮想メモリが限界です。"エラー。
- J047951: リモート オートメーション マネージャで、アクセス違反が発生します。
5.2.7.2. Service Pack 3 で修正された問題
- Windows NT 4.0 で ActiveX Exe サーバーを実行すると、"実行時エラー '429' : ActiveX コンポーネントまたはオブジェクトを作成できません。" というエラーが発生します。
- J047717: Forms.Add ("Form1") などを実行してフォームを追加する処理は、デザイン時には予期したとおりに機能しますが、同じ処理を実行時に行うと、オートメーション エラーが発生します。
- J047794: アプリケーションで [?] アイコンをクリックしても、UserDocument オブジェクトから ShowWhatsThis メソッドを呼び出しても、UserDocuments では WhatsThisHelp プロパティが正常に機能しません。
- J047791: RDO では、rs.Update による問題のため、テーブルがロックされた状態で、ODBC 側のカーソルを使用した場合に、システムが応答しなくなります。
- J047786: T-SQL デバッガの [ローカル] ウィンドウに誤ったパラメータ値が表示されます。
- J047796: UserDocument (ActiveX ドキュメント DLL または EXE) に、モーダル ダイアログ ボックスを表示するモーダル ダイアログ ボックスがある場合、両方のダイアログ ボックスを閉じると、ブラウザを終了するときに "このブラウザ ウィンドウ (またはこのページの ActiveX コントロール) はビジーです。" というエラー メッセージが表示されます。
- J047800: msvbvm60.dll に対して RegSvr32 /u を実行するとエラーになります。
- J047798: Visual Basic は、Instancing プロパティが Global Multiuse に設定されたモジュール内の ActiveX DLL ライブラリ関数を認識しません。
- J047802: Visual Basic 6.0 の Printer.Scale は、以前のバージョンの Visual Basic と完全な互換性がありません。
- J047804: Visual Basic 6.0 では、PSet メソッドの処理に時間がかかります。
- J047805: パブリック オブジェクトのユーザー定義型の配列で、Redim Preserve を使用すると、Visual Basic が停止します。
- Visual Basic アプリケーション ウィザードで、エクスプローラ スタイルのサブメニューを追加すると、実行時エラーと一般保護エラーが発生します。
- プロジェクトを編集、実行した後に [プロジェクトの解放] コマンドを実行すると、Visual Basic が停止します。
- "Optional... As" の後は、入力候補が表示されません(例 : "Sub Test(Optional x As VbAppWinStyle=")。
- 複数の標準 DLL を作成し、プロジェクトを解放した後、同数の標準 DLL をもう一度作成すると、Visual Basic が停止します。
- マルチ プロセッサ システムで、非同期の RDO 操作を実行すると、Visual Basic が散発的に停止します。
- ADO の EndOfRecordset イベントの実行中に更新される最初のデータ フィールドには、設定に関係なく、常に以前の値が設定されます。
- データ ビューから表示されるすべてのダイアログ ボックス ([プロパティ] ダイアログ ボックス、ストアド プロシージャの [パラメータ] ダイアログ ボックスなど) のフォントとコントロールのフォントは、コントロールの Font プロパティの変更時に変更されます。
- モーダル フォームを表示する場合、Visual Basic 5.0 と Visual Basic 6.0 ではイベントの発生順序が異なります。
- RDO ClientBatch カーソル エンジンを使用すると、小数データの小数点以下第 5 位以降のデータが削除されます。
- Microsoft(r) Transaction Server (MTS) のコンテキスト オブジェクトを使用する Visual Basic アプリケーションは、コンパイル、実行できますが、デバッグできません。Visual Basic 内で MTS コンテキスト オブジェクトを使用せずに、Webclass ランタイムに用意されている ASP オブジェクト (Request、Response、Server など) を使用するか、MTS コンテキスト オブジェクトの機能をインプリメントした Visual Basic クラスを独立して作成することをお勧めします。
- [イミディエイト] ウィンドウに余分なスペースを含む文字列 (? Text1 . Text など) を入力すると、Visual Basic が停止します。
- CurrentDB.Properties を列挙するときに、Visual Basic が停止します。
- IIS プロジェクトでは、コマンド オブジェクトのレコードセットを開き、デバッグを実行すると、Visual Basic が停止します。
5.3. Microsoft Visual C++
このセクションでは、Visual Studio Service Pack 4 で修正された Visual C++ の問題が、カテゴリー別、サービス パック別にまとめられています。また、既に確認されている問題の一覧も用意されています。詳細については、サポート技術情報の記事を参照してください。
Service Pack 4 には、過去のサービス パックによるすべての修正、およびそれらの重要な修正点に関する説明が含まれています。
Service Pack 4 は、最新の Platform SDK ヘッダーとライブラリを含んでいません。最新の Platform SDK は、http://www.microsoft.com/msdownload/platformsdk/setuplauncher.htm からインストールできます。
5.3.1. Windows CE ToolKit と Visual C++
Visual Studio Service Pack 4 は、Microsoft Windows CE Toolkit for Visual C++ バージョン 6.0 をインストールすると変更される Visual C++ 6.0 コンポーネントを上書きします。そのため、Service Pack 4 をインストールすると、Windows CE Toolkit for Visual C++ 6.0 を実行できなくなります。Windows CE ToolKit を使用する場合は Service Pack 4 をインストールしないで下さい。これは Service Pack 3 についても同様です。
また、Service Pack 4 にはアンインストーラが付属していません。Service Pack 4 のインストール後に、Windows CE Toolkit for Visual C++ を実行する場合は、Visual C++ 6.0 アンインストーラを使用して Visual C++ 6.0 自体を削除し、Visual C++ 6.0 と Windows CE Toolkit for Visual C++ を再インストールする必要があります。この互換性に関する問題は、今後リリースされる Windows CE ToolKit の新しいバージョンで修正される予定です。
5.3.2. インストール時の注意事項
Visual Studio Service Pack 4 をインストールする場合、既にインストールされた Visula C++ 6.0 と同じ言語バージョンの Service Pack 4 をインストールしてください。
単体製品としての Visual C++ 6.0 は、日本語版、ドイツ語版および英語版が提供されています。日本語版、ドイツ語版の Visual C++ 6.0 単体製品には、同じ言語バージョンを、それ以外は英語版の Service Pack 4 をインストールしてください。
Visual Studio 6.0 の一部として Visual C++ 6.0 をインストールしている場合、Visual Studio 6.0 と同じ言語バージョンの Service Pack 4 をインストールしてください。
たとえば、スペイン語、韓国語、イタリア語、フランス語、ドイツ語、日本語バージョンの Visual Studio 6.0 をインストールした場合、同じ言語バージョンの Service Pack 4 をインストールする必要があります。
Visual C++ 6.0 単体製品 |
対応するサービス パック |
日本語 |
SP4 日本語 |
ドイツ語 |
SP4 ドイツ語 |
英語 (スペイン語、韓国語、簡体中国語、繁体中国語、フランス語) |
SP4 英語 |
Visual Studio 6.0 の製品パッケージに含まれる Visual C++ 6.0 |
対応するサービス パック |
VS6 日本語 |
SP4 日本語 |
VS6 韓国語 |
SP4 韓国語 |
VS6 スペイン語 |
SP4 スペイン語 |
VS6 フランス語 |
SP4 フランス語 |
VS6 イタリア語 |
SP4 イタリア語 |
VS6 ドイツ語 |
SP4 ドイツ語 |
違う言語バージョンの単体製品を複数インストールしている場合、たとえば、Visual C++ 6.0 日本語版と Visual Basic 6.0 英語版をインストールした場合、Service Pack 4 日本語版のインストールの後に、Service Pack 4 英語版をインストールする必要があります。
5.3.3. ATL の問題
5.3.3.1. Service Pack 3 で修正された問題
ATL に関する次の問題が修正されました。
- J047701: delete 演算子または free 関数に NULL ポインタを渡すと、クラッシュします。
- J047705: CComVariant の >、< 演算子は LNK2001 エラーが発生します。
- J047713: Visual C++ 6.0 の Atl.dll がインストールされているコンピュータで、6.0 より前のバージョンの Visual C++ でビルドされた ATL DLL または ATL EXE の登録を解除すると、アクセス違反になります。
- J047730: 一部の ATL コントロールは、サイズが適切に設定されません。
- J047735: 長いパス名を持つ ATL サーバーの登録は失敗します。
- J047764: DECLARE_REGISTRY() マクロを使用すると、登録情報がレジストリに追加されません。
- J047781: CComEnumImpl<>::Skip() はオーバーフローを正しく処理しません。
- J047785: Alpha プロジェクトでは、'm_mov' が未定義の識別子であるというエラーが発生します。
- J047807: GetIDsOfNames( ) は、名前付き引数に DISP_E_UNKNOWNNAME を返します。
5.3.4. STL の問題
5.3.4.1. Service Pack 4 で修正された問題
STL に関する次の問題が修正されました。
- クリティカルなセクションがデッドロックされると、C++ ライブラリ全体がロックされます。サブオブジェクトを含むマップ オブジェクトに関連付けされているスレッドが破壊されると、この問題が発生します。
5.3.5. コンパイラ/リンカ/ビルドの問題
5.3.5.1. Service Pack 4 で修正された問題
ビルドに関する次の問題が修正されました。
- J053490: /Og オプションを使用して生成されたコードは、以前にポストデクリメントされた変数との比較で、不正になる場合がある
。
- J053501: /GT コンパイル オプションでは、TLSIndex を定数として残す。
- J053502: グローバル オブジェクトがファイル内で宣言され、同一のファイル内で extern 識別子を使用して参照した場合、extern 識別子のコンストラクタ呼び出しが誤って生成されます。
- 関数が仮想関数をパラメータとして有している場合、Visual C++ 6.0 は内部コンパイラ エラーで異常終了します。
- J053492: #import を使用してインポートされたファイルで COM 例外が起きた場合、メモリ リークが発生します。
5.3.5.2. Service Pack 3 で修正された問題
ビルドに関する次の問題が修正されました。
- J047699: リンク時に誤ったバージョンの Cvtres.exe を使用して、リソース ファイルを COFF 形式 (CommonObject File Format) に変換すると、アプリケーションで複数言語のリソースを使用できなくなります。
- J047707: クラス外に定義されている friend<< 演算子はコンパイルされません。
- J047715: プロジェクトは、別のプロジェクトによって作成されたコンパイル済みヘッダーを削除します。
- J047721: /Og と /Oa または /Og と /Ow を指定してコンパイルすると、間接参照でスケールが無視され、コードが正しく最適化されないことがあります。For example:
mov esi,dword ptr [ecx+edx*4]
mov ecx,dword ptr [ecx+edx]
これは、次のように誤って最適化されます。
mov esi,dword ptr [ecx+edx*4]
mov ecx,esi // エラー、実際には別のアドレスからの
// ロードを試みるため
- J047734: 59 組以上のネストされたかっこが設定されたコードは、コンパイラの制限によってコンパイルされません。Service Pack 4 では、コンパイラは最大で 256 レベルのネストに対応します。
- J047738: return ステートメントに ++ 演算子を使用すると、/Od を指定してコードをコンパイルしたときにアクセス違反となります。
- J047742: /Og を指定してコンパイルすると、誤ったコードが生成され、スタックの内容が完全にセットアップされる前にスタック フレームがコピーされることがあります。
- J047747: スピードの最適化を行うと、ブール値のビットごとの OR 演算に対して、コンパイラが誤ったコードを生成するため、コンパイル後のアプリケーションがクラッシュしたり、データの破損、その他の動作不良が発生します。
- J047749: コンパイラは、浮動小数値によって初期化する const int 変数を正しく初期化しません。
- J047744: 次のすべての条件が適用される場合は、不正なコードが生成されるか、またはコンパイラの内部エラーが発生します。
- 3 項演算子 (?:) のコロンの左右両辺がクラス型であります。
- ユーザー定義の演算子によって右辺を左辺に変換できる。
- 右辺に指定されているクラスのオブジェクトを使用できるコンストラクタを左辺が持たない。
- J047745: 関数定義の typedef を使用して、関数を参照するポインタの typedef から変数を宣言、初期化すると、コンパイラが関数のアドレスに関する再配置の設定を作成しないことがあります。
- J047746: /Zi と /Yc を指定してコンパイルすると、C1001 内部コンパイラ エラーが発生することがあります。
- J047748: 関数へのポインタをテンプレート クラスの引数として使用し、その関数を呼び出すと、コンパイラ エラーが発生します。次に例を示します。
template < class T, int (*pfn)(T *)>
class NewClass
{
public:
int Test(T *pb)
{
return (*pfn)(pb);
}
};int Bar( BOGUS *pb )
{
return pb->m_i;
}void main (void)
{
BOGUS b;
b.m_i = 6;
Foo < BOGUS, &Bar > foo;
foo.Test(&b);
}
- J047750: 明示的に構築されたテンポラリ オブジェクトのデストラクタの呼び出しに失敗します。
- J047751: /Og と /G6 を指定してコードを最適化すると、Visual C++ は、inc、add、sub、および lea 命令とメモリを参照する命令に変更することがあります。Visual C++ 6.0 は適切に変位を更新しないことがあります。次に例を示します。
inc eax
mov [eax + 2*eax + 3]
- J047756: /useenv オプションを削除した後も、プロジェクトは環境設定を継続して使用します。これに対処するには、レジストリ設定を削除する必要があります。SP4 では、/useenv が設定されている場合にだけ、統合開発環境が環境設定を使用します。
- J047759: まれに、/Og を指定してコンパイルされたコードは double の半分をメモリに保存し、そこから FP レジスタをロードします。FP 値の半分はランダム データなので、値は不正確になることがあります。
- J047722: /map を指定して VxD をビルドすると、リンカはマップ ファイルへのファイル ハンドルを失い、リンカ ツール エラー ("LNK1104:Cannot open file file.map") が発生します。
- J047762: /ZI (エディット コンティニュー用) コンパイラ オプションを指定して、VxD またはドライバをビルドすると、リンカは無効なイメージを生成していました。/ZI オプションは、特別な情報をイメージに挿入するため、VxD およびドライバがロードできなくなります。これに対処するため、リンカは、/VXD が指定された場合に、/ZI オプションを無視するように変更されました。VxD またはドライバをデバッグするときには、エディット コンティニューを使用できません。また、VxD で無効であることが判明しているセクションを検出すると、リンカは警告を表示します。
- J047761: これまでは、ユーザーがイメージを構築するときに、指定されている予約サイズ以上に、スタックまたはヒープのコミット サイズをリンカに指定できました。この無効な設定により、デバッガなどのツールがイメージをロードできなくなっていました。SP3では、スタックまたはヒープのコミット サイズを予約サイズ以上に設定すると、リンカが致命的エラー メッセージを表示するようになりました。
- J047760: int& 引数を取る関数に組み込み関数の結果が返される場合、不正なコードが生成されます。
- J047777: #import は、タイプ ライブラリの TKIND_MODULE メンバを無視します。
- J047778: /Og と /Ob1 を指定してコンパイルすると、ループ内でループ変数を比較するときに、不正確な比較が行われる場合があります。
- J047780: Alpha プラットフォームで遅延ロード インポートを使用すると、リンカが無効な設定を生成し、エラー メッセージを表示せずに不良イメージを生成することがあります。
- Visual C++ 6.0 は、ターミナル サーバー対応アプリケーションをサポートしません。SP4 リリースには、これをサポートするために、新しいリンカ オプション /tsaware[:no] が追加されました。/tsaware オプションを指定すると、リンカはターミナル サーバー対応アプリケーションをサポートするために、イメージのオプション ヘッダーに適切なビットを設定します。
5.3.6. C ランタイムの問題
5.3.6.1. Service Pack 4 で修正された問題
C ランタイムに関する次の問題が修正されました。
- J053487: 小さいメモリ ブロック上で realloc を繰り返し使用すると、メモリ アクセス違反が発生します。
5.3.6.2. Service Pack 3 で修正された問題
Service Pack 3 では、C ランタイムに関する次の問題が修正されました。
5.3.6.3. Service Pack 2 で修正された問題
MSVCRT.DLL: Service Pack 2 では、互換性を向上するために、MSVCRT.DLL が Visual C++ 6.0 ヒープのほかに Visual C++ 5.0 ヒープも含むようになりました。Visual C++ 6.0 アプリケーションは、Visual C++ 6.0 ヒープを続けて使用できます。また、Visual C++ 6.0 より前のアプリケーションは、Visual C++ 5.0 ヒープを使用します。
次のサポート技術情報の記事 2 点で説明しているヒープの互換性に関する問題は、修正されました。
インストール時に、一部の C ランタイム ヒープ管理のファイルは、Visual C++ 6.0 ヒープと Visual C++ 5.0 ヒープの両方のコードを含むファイルに上書きされます。Visual C++ 6.0 の静的ライブラリをリビルドすると、静的ライブラリに Visual C++ 5.0 ヒープが含まれます。このヒープは使用されません。既に説明した問題によって発生する互換性の問題に対応するために、Service Pack 2 のリリースには Visual C++ 5.0 ヒープが追加されました。リビルドした静的ライブラリに、Visual C++ 5.0 ヒープ コードが含まれないようにするには、Visual C++ 6.0 でリリースされた元のコードを使用して、ライブラリを再度構築する必要があります。
5.3.6.4. Service Pack 1 で修正された問題
J045725: マルチスレッド アプリケーションで、あるスレッドが setlocale を呼び出し、もう 1 つのスレッドが strftime を実行していると、アクセス違反例外になります。
5.3.7. Data Access Objects (DAO)
5.3.7.1. Service Pack 3 で修正された問題
Visual Studio 6.0 Service Pack 3 には、DAO 3.6 のアップデート バージョンが付属します。DAO 3.6 は Office 2000 に付属しており、このサービス パックが提供するファイルを使用することで、アップデート バージョンを開発できます。DAO 3.6 は、既に DAO 3.5x がインストールされている環境にインストールできます。後で説明される SDK ソース ファイルを再頒布することはできません。
DAO 3.6 へのアップグレードは、Office 2000 形式のデータベースへのアクセスが必要な DAO アプリケーションがある場合にだけお勧めします。新しいプロジェクトでは、DAO に代わるデータ アクセス プログラミング モデルとして Microsoft が推奨する、最新の OLE DB 技術に基づいて構築された ActiveX Data Objects (ADO) を使用することを強くお勧めします。
DAO 3.6 の変更内容
- Unicode のサポートが追加されました。
- Jet 4.0 のサポートが追加されました。
- RepairDatabase はサポートしなくなりました。これは、Jet 4.0 に適合するためです。この機能が必要な場合は、Repair をサポートしている CompactDatabase を使用してください。
Visual Studio Service Pack 3 に含まれる DAO 3.6 ファイル
このサービス パックには、次のファイルが含まれています。
Visual C++ で、DAO を使用したプロジェクトを作成またはビルドするときには、LIB ファイルをビルドします。(以下の手順を参照してください。) これらのファイルは、Visual Studio Service Pack 3 CD の Support ディレクトリにあります。または、Microsoft の Web サイトからダウンロードできます。
DAO SDK ヘッダー |
DAO SDK ソース |
_dbdao.h |
dbdaouid.cpp |
dbdaoerr.h |
resource.h |
dbdaoid.h |
version.rc |
dbdaoint.h |
stdafx.h |
version.usr |
dbdao.dsp |
daogetrw.h |
Dbdao.dsw |
VERSTAMP.H |
dbdao.mak |
VERSION.H |
dbdao.rc |
Dbdao.h |
Dbdao.cpp |
DAO ライブラリを構築するには
- Visual Studio を実行するコンピュータに、DAO SDK ヘッダー ファイルとソース ファイルをコピーします。
- Visual C++ を起動し、[Dbdao.dsw] ファイルを開きます。
- [ビルド] メニューの [構成] をクリックし、使用するライブラリのタイプを選択します。
- [ビルド] メニューの [ビルド <dll 名>] をクリックします。[ビルド] メニューの [バッチ ビルド] をクリックすると、複数の DLL を同時に構築できます。
- 通常の方法で DAO アプリケーションをコンパイルします。
DAO 3.6 の配布
DAO SDK クラスを使用して DAO 3.6 にアクセスするアプリケーションを配布する場合は、アプリケーションに必要な [DAO36x.DLL] ファイルをインストールします。
5.3.8. デバッガの問題
5.3.8.1. Service Pack 4 で修正された問題
デバッガに関する次の問題が修正されました。
- J053499: Service Pack 3 には、誤ったデバッグ バージョンの Oleaut32.dll および Msvbm60.dll が含まれているため、デバッグ中にシンボル情報エラーが発生します。
- J053489: 装飾されていない名前がデバッガに渡されると、エラーが発生する場合があります。
- J053494: デバッガは、特定のアセンブリ命令をステップ オーバーすると、目に見えないブレークポイントにあたる場合があります。Windows 2000 で動作するリモート システムは、この問題が原因で応答を停止する場合があります。
- J053496、J053500: 高速なデュアル CPU システムでは、デバッガでエラーが発生する場合があります。
- J053491: Windows NT または Windows 2000 で動作するシステムでは、[プロセスへアタッチ] ダイアログ ボックスが空白で表示される場合があります。
- スレッドがブレークポイントで中断されてから再開されると、デバッガが機能を停止する場合があります。
5.3.8.2. Service Pack 3 で修正された問題
デバッガに関する次の問題が修正されました。
- J047732: マルチプロセッサ コンピュータでは、複数のブレークポイントが検出されると、非同期ブレーク エラーが発生することがあります。
- J047775: OutputDebugString を頻繁に呼び出すプログラムをリモート デバッグするときに、デバッガがクラッシュまたはハングしたり、リソース領域の不足に関する警告が表示されることがあります。
- J047776: デバッグ情報の 2 つのシンボルが同じハッシュ値を持つ場合、デバッガがクラッシュします。
- J047779: Alpha プラットフォームでは、リモート デバッグは機能しません。
5.3.9. 統合開発環境 (IDE) の問題
5.3.9.1. Service Pack 4 で修正された問題
統合開発環境 (IDE) に関する次の問題が修正されました。
- J053488: ActiveX ドキュメント サーバーの数が 15 を超えているとき、Visual C++ 6.0 の [ファイル] メニューの [開く] または [ファイルをプロジェクトへ追加] を選択すると、Visual C++ 6.0 が異常終了します。
- J053503: 特定のコンテキストにユーロ記号を入力すると、IDE の応答が停止する場合があります。
5.3.9.2. Service Pack 3 で修正された問題
統合開発環境 (IDE) に関する次の問題が修正されました。
5.3.10. Microsoft Foundation Classes (MFC) の問題
5.3.10.1. Service Pack 4 で修正された問題
MFC に関する次の問題が修正されました。
- J053497: マルチ CPU のシステム上で、MFC ISAPI クラスを Static ライブラリ フォームで使用するとエラーが発生します。
- DllMain は、DLL_THREAD_DETACH 中にメモリが不足すると、例外処理対象外の例外を発生します。
- J053495: DeBabelizer Pro バージョン 4.5 で、[Open Batchlist] ダイアログ ボックスで [キャンセル] をクリックすると、アプリケーションが異常終了する場合があります。
5.3.10.2. Service Pack 3 で修正された問題
MFC に関する次の問題が修正されました。
- MFC 6.0 には、Microsoft Access 2000 データベースを使用する機能が用意されています。アプリケーションでこの機能を使用するには、次のいずれかの方法で DAO 3.6 を有効にする必要があります。
- DLL バージョンの MFC を使用して、データベース関連の呼び出しを作成する前に、次の行を InitInstance に追加します。
- AfxGetModuleState()->m_dwVersion = 0x0601
- または -
- _MFC_VER を 0x0601 に設定し、MFC 静的ライブラリを再コンパイルします。
- J047700: MFC AppWizard は、ドキュメント/ビュー アーキテクチャを使用しない SDI アプリケーションのツールバー ボタンに、誤ったイメージを関連付けます。
- J047710: 静的にリンクされた MFC アプリケーションでは、複数のスレッドから、ソケット スレッドの状態を初期化できません。アプリケーションのスレッドの 1 つが AfxSocketInit を呼び出すと、その他のスレッドから同じ関数を呼び出しても、そのスレッドのソケット スレッドの状態を設定できません。
- J047714: MFC レギュラー DLL でダイアログ ボックス を追加/作成すると、アサーションが発生します。
- J047727: double 値を含む MFC ODBC フィールドに結合された文字列を使用して CString::Format を呼び出すと、メモリが再割り当てされ、パラメータおよび出力列に一致しない結合が行われます。
- J047753: ドキュメント/ビュー アーキテクチャを使用していないか、初期ステータス バーまたはドッキング ツール バーを持たない MFC AppWizard アプリケーションは、アサート文でクラッシュします。
- J047772: CMenu::GetMenuString は、256 バイトを越える文字列を正しく処理せず、破損することがあります。
- J045850: CControlBar::WindowProc の問題により、TOOLTIPTEXT.lpszText が、文字列リソースの ID の場合、または何も設定されない場合に、アクセス違反となります。これは、文字列リソースの ID が lpszText メンバにコピーされ、リソースを含むインスタンスのハンドルが hinst メンバにコピーされたときに発生する問題です。
- J047773: CDaoDatabase::CreateRelation が参照カウントを超えて Release を呼び出し、アサーションが発生します。
- J047851: COleDateTime::operator= が西暦 2000 年以降の日付を適切に処理できないため、MFC アプリケーションに問題が発生することがあります。この問題は、MFC40.DLL と MFC40u.DLL を変更することで修正されました。これらの DLL を使用する MFC アプリケーションには、再コンパイルしなくても修正が適用されます。この更新された DLL を必要とするアプリケーションは、Visual C++ 4.0 または 4.1 でビルドされたアプリケーションだけです。
5.3.10.3. Service Pack 1 で修正された問題
MFC に関する次の問題が修正されました。。
- J045727: 移動に応じて、自身のサイズを変更する ActiveX コントロールで、スタック オーバーフローが発生します。
- J045726: ダイアログの作成に失敗したときに、CDialog::Create が FALSE を返しません。
- J045722: いくつかのオートメーションが、ネストされたアクティベーションを含む状況で、デバッグ ビルド中に、不適切なアサーションが発生しました。
- J045723: MFC の UNICODE リリース ビルドで、ANSI 文字列を逆シリアル化すると、アクセス違反となります。
- J045724: Visual C++ 6.0 をで作成された MFC DLL は CPrintDlg::OnInitDialog を呼び出しません。この初期化ルーチンに依存したプログラムでは問題が発生します。
5.3.11. 複数言語の問題
5.3.11.1. Service Pack 4 で修正された問題
複数言語および言語の共存に関する次の問題が修正されました。
- J053498:日本語版のオペレーティング システム上で、MFC がプロパティ ページで使用するフォントを設定する際、Comctl32.dll 内の誤ったリソース テンプレートを参照します。この問題によって、多くのアプレットでテキストの一部分が欠けて表示されます。
5.3.11.2. Service Pack 3 で修正された問題
複数言語および言語の共存に関する次の問題が修正されました。
- Devshl.dll の問題により、Microsoft® Visual Fortran のコマンド ライン ビルドができません。
- ストリング テーブルが破損するため、アプリケーション上で、あるプログラミング言語から別の言語を呼び出すときに、リソースから追加言語の文字列を検索できなくなります。
5.3.12. OLE DB コンシューマの問題
5.3.12.1. Service Pack 3 で修正された問題
OLE DB コンシューマに関する次の問題が修正されました。
- J047706: CArrayRowset を使用する場合に、1 ページ (4KB) 以上のデータをバッファに保存しようとするか、または存在しないレコードを取得しようとすると、無限ループが発生します。Service Pack 4 では、4KB 以上のデータの保存は正しく機能します。また、存在しないレコードを取得しようとすると、規定どおりにアクセス違反となるため、ユーザーはこの違反をキャッチできます。
- J047774: OLE DB テンプレートが FILETIME ではなく、DBFILETIME を使用します。
- J047782: UUID.LIB に、IViewFilter インターフェイスの不正な定義が含まれています。IViewFilter は、OLE DB テンプレートでは使用されない OLE DB 1.5 インターフェイスですが、この定義によって、インターフェイスを直接使用する OLE DB コンシューマに問題が発生することがあります。
- J047808: OpenDataSource 実行中の Jet プロバイダが、DB_E_ERRORSOCCURRED を返す。
5.3.13. OLE DB プロバイダの問題
5.3.13.1. Service Pack 3 で修正された問題
OLE DB プロバイダに関する次の問題が修正されました。
- J047736: CTABLESRow には TABLE_PROPID 列がありませんでした。現在では、この列が追加されたため、コンシューマがこの列を要求したときに OLE DB テンプレート プロバイダが失敗しなくなりました。
- J047769: PROVIDER_COLUMN_ENTRY マクロは、DBID.eKind の値を 2 (DBKIND_NAME) ではなく、0 (DBKIND_GUID_NAME) に設定します。これにより、SQL Server 7.0 と一緒に OLE DB テンプレート プロバイダを使用するときに問題が発生します。
- J047765: "cPropertyIDSets" パラメータが 0 のときに、IDBPropertiesImpl::GetPropertyInfo が正しい値を返しません。これにより、不正なエラー メッセージ、クラッシュ、ロックアップなど、未定義のコンシューマ動作が発生します。
- J047766: データが null 値の場合でも、IRowsetImpl::GetData が Length に 0 以外の値を返します。GetData は修正され、データが null 値の場合は、Length に 0 を返すようになりました。
- J047767: OLE DB テンプレートは、すべてのスキーマ行セットの CATALOG、SCHEMA 列を null に設定しません。IDBInfo インターフェイスをインプリメントしない OLE DB プロバイダは、この設定を必要とします。
- J047768: InternalCreateSchemaRowset の失敗は、アクセス違反となります。
- J047770: OLE DB 仕様に準拠するために、CCOLUMNSRow プロバイダの Column Map の列の名前にアンダースコアが追加されました。たとえば、TableCatalog は TABLE_CATALOG となります。これによって、コンシューマがこれらの列の 1 つを要求した場合でも、OLE DB テンプレート プロバイダは失敗しなくなりました。
- プロバイダからの Initialization プロパティに関する情報 (ユーザー ID、パスワードなどに関する情報) をコンシューマが問い合わせたときに、誤った情報を受け取った場合、クラッシュまたはハングすることがあります。
5.3.14. MDAC の問題
5.3.14.1. Service Pack 4 で修正された問題
Microsoft Data Access Components (MDAC) に関する次の問題が修正されました。
- Service Pack 3 は、MDAC 2.1 のライブラリおよびヘッダー ファイルをインストールしていませんでした。 Service Pack 4 では MDAC 2.5 がインストールされます。
5.3.15. Visual SourceSafe の統合に関する問題
5.3.15.1. Service Pack 3 で修正された問題
Visual SourceSafe の統合に関する次の問題が修正されました。
- J047739: プロジェクトが変更された場合に、[最新バージョンを取得] コマンドを実行しても再ロードされない情報があります。あるコンピュータ上で、複数のワークスペースが開かれている状態で、別のコンピュータから各プロジェクトに対して設定を変更した場合、変更した情報が正しく更新されません。
5.3.15.2 既に確認されている問題
このセクションでは、Visual C++ 6.0 Service Pack 4 において現在確認されている問題について説明します。修正された問題については、前のセクションを参照してください。
MDAC の問題
- MDAC 2.5 では、ATL オブジェクト ウィザードおよび MFC AppWizard から使用される [データ リンク プロパティ] でのパスワードの扱いが変更されています。データ ベースでユーザー アカウントにパスワードが設定されていると、各ウィザードはコードを正しく生成できません。この問題は、[データ リンク プロパティ] ダイアログ ボックスの [パスワードを保存する] を設定することで回避できます。
SQL の問題
- SQL Server 2000 がインストールされている場合、SQL Server Debugging を正しくインストールすることができません。この問題を回避するには、Visual C++ Enterprise Edition の Disk 2 にある sqdbg_ss ディレクトリから、ファイルを手動でコピーおよび登録します。
OLE DB/ODBC の問題
ODBC 接続を指定すると、MFC AppWizard (.exe) は、Excel のスプレッドシートのワークシートを表示しません。
Excel ファイルへのODBC 接続を指定すると、MFC AppWizard (.exe) はテーブル選択で空のリストを表示してしまいます。この問題に対応するには、ODBC ドライバ接続用の OLE DB プロバイダを代わりに使用します。
SQL サーバー用の Microsoft OLE DB プロバイダが、プライマリ キーを持たないテーブルを開けない
SQL サーバー用の Microsoft OLE DB プロバイダは、プライマリ キーが定義されていないテーブルを開けません。この問題に対応するには、ODBC ドライバおよび SQL サーバー ODBC ドライバ用の Microsoft OLE DB プロバイダを使用してテーブルにアクセスします。
Windows 2000 の問題
Internet Explorer 5 および Windows 2000 用の SDK ヘッダーとライブラリは、Visual Studio Service Pack 4 に含まれていません。
Visual Studio Service Pack 4 は、Internet Explorer 5 および Windows 2000 の最新の SDK ヘッダーとライブラリを含んでいません。Internet Explorer 5 の更新されたヘッダーとライブラリは、Microsoft Web & Internet Samples Download Area (英語) に用意されています。Windows 2000 SDK の将来の更新については、MSDN SDK の Web サイト (英語) を参照してください。
- J053605:
Windows 2000 にはクイック ビューア コマンドがない。Visual C++ 6.0 に含まれる Depends.exe のバージョン 1.0 は、外部ビューアを使用してバイナリ イメージを参照するため、Windows 2000 では異常終了します。
Quickview が Windows 2000 オペレーティング システムで廃止されたため、depends.exe は次のエラーで異常終了します。
Dependency Walker External Viewer Error
Error executing "C:\Winnt\system32\viewers\quickview.exe"
{Full name of file you're trying to view}
この問題は、Microsoft Platform SDK for Windows 2000 の 2000 年 4 月の更新版に含まれる Depends.exe バージョン 2.0 ベータ 5 で修正されています。Platform SDK については、SDK の Web ページ (http://msdn.microsoft.com/developer/sdk/default.asp) を参照してください。
MFC の問題
OLE DB ODBC プロバイダと Access データベースを使用すると、MFC AppWizard が不正確な列マップを生成します。
OLE DB を使用して MFC データベース アプリケーションを生成する際、ODBC 接続用 の OLE DB プロバイダ経由で Access データベースを使用すると、AppWizard は、不正確な序数が設定された列マップを含む Set.h ファイルを生成します。この問題に対処するには、序数が 1 から始まるようにリセットします。次に例を示します。
BEGIN_COLUMN_MAP(CMyTable)
COLUMN_ENTRY_TYPE(2, DBTYPE_I4, m_id)
COLUMN_ENTRY_TYPE(3, DBTYPE_STR, m_field1)
COLUMN_ENTRY_TYPE(4, DBTYPE_STR, m_field2)
END_COLUMN_MAP()
これを次のようにリセットします。
BEGIN_COLUMN_MAP(CMyTable)
COLUMN_ENTRY_TYPE(1, DBTYPE_I4, m_id)
COLUMN_ENTRY_TYPE(2, DBTYPE_STR, m_field1)
COLUMN_ENTRY_TYPE(3, DBTYPE_STR, m_field2)
END_COLUMN_MAP()
ATL.DLL は MSStkPrp.dll 使用する場合がある
コントロールを使用した ATL アプリケーションにおいて、MSStkPrp.dll でサポートされている色設定、フォント設定またはピクチャ用の Stock プロパティを利用する場合があります。これらのプロパティのクラス ID は、ATL 用ヘッダーの MSStkPPG.H で定義されています。コントロールにおいて、これらのプロパティは標準で使用されません。。
MSStkPrp.dll は Visual C++、Visual Basic、Visual Studio 6.0 に含まれています。MSStkPrp.dll を \SYSTEM (32) のディレクトリにコピーします。regsvr32.exe ユーティリティを使用、または セットアップ プログラムにおいて DllRegisterServer エクスポートを呼び出して登録します。
最新の MSStkPrp.DLL および日本語サテライト モジュール MSPrpJp.DLL は、Visual C++ 6.0 日本語版パッケージに含まれています。MSStkPrp.DLL を使用する場合、対象 OS の言語に合わせてサテライト モジュールをインストール必要があります。
これらのマージ モジュール MSStkPrp.MSM および MSPrpJp.MSM は、Visual Studio 6.0 Service Pack 4 に含まれています。
5.4. Microsoft Visual InterDev
5.4.1. インストール情報
Internet Explorer 5
Internet Explorer 5 は、インストールすることを強くお勧めします。Internet Explorer 5 を Visual InterDev 6.0 と併用すると、HTML の編集機能が拡張されるなどの利点があります。Internet Explorer 5 は、Microsoft Windows Technologies Internet Explorer Home Page に用意されています。
メッセージ "NT SP4 はテストされていません"
Service Pack 4 がインストールされている Windows NT 4.0 に NT Option Pack をインストールするときは、Visual InterDev 6.0 のインストール時に "コンピュータ上に Windows NT4 SP4 がインストールされているのを検出しました。この製品は SP4 ではテストされていません。継続しますか?" というメッセージが表示されることがあります。このメッセージに対しては、"はい" と応答してください。
Windows NT 4.0 Service Pack 4 を使用する
Visual InterDev 6.0 のリリース後に、Windows NT 用の Service Pack 4 がリリースされました。Windows NT Server コンピュータには、Service Pack 4 をインストールすることをお勧めします。Windows NT 4.0 Service Pack 4 は、Microsoft Visual Studio サポート情報の Web サイトからダウンロードできます。
Windows NT Service Pack 4 を使用するには、Visual InterDev 6.0 リリース ノート (ReadmeVI.HTM) に記載されている方法とは若干異なる方法でインストールする必要があります。概要は、次のとおりです。
- Visual InterDev 6.0 のサーバー コンポーネントをインストールした後で、Windows NT Service Pack 4 をインストールします。Service Pack 4 には、Microsoft® Internet Information Services (IIS) など、5 つのコンポーネントがあります。ただし、修正は、IIS やその他のサーバー コンポーネントがコンピュータにインストールされている場合にだけインストールされます。
- Windows NT Service Pack 4 には、デバッグと Global.asa ファイルの更新に関する問題を修正する ASP の修正ファイル (ASP2FIX1.EXE) が用意されています。ASP の修正を個別にインストールする必要はありません。
Visual InterDev 6.0 リリース ノート (ReadmeVI.HTM) に記載されているインストール方法の変更
Windows NT 4.0 Service Pack 4 が入手可能なため、Visual InterDev 6.0 リリース ノート (ReadmeVI.HTM) に記載されているインストール方法は、次のように変更されます。
クライアント インストール: Windows NT にインストールする場合
PageNavbar デザインタイム コントロール、リモート デバッグ、ローカル マシン上のアクティブ サーバー ページのプレビューには、次のコンポーネントが必要です。これらの機能を使用しない場合は、各コンポーネントを選択する必要はありません。
- [BackOffice セットアップ ウィザード] をクリックし、[セットアップ] をクリックします。
- [カスタム] または [Visual InterDev 開発者] オプションを選択できる画面が表示されます。[カスタム] をクリックし、[次へ] をクリックします。
- 必要なディスク容量を確認し、[次へ] をクリックします。
- コンポーネント リストの上位レベルで、[Front Page Server Extensions] と [MS Data Access コンポーネント] をクリックします。
- [Windows NT Option Pack] ノードを展開し、次の項目をクリックします。
[Internet Information Server] - [NT Server]
[Microsoft Management Console]
[NT Option Pack Common Files]
[パーソナル Web サーバー (PWS)] - [NT Workstation]
[Transaction Server]
[Data Access コンポーネント] (たとえば、Data Access 1.5)
- 残りのコンポーネントを示すチェック ボックスをオフにします。チェック ボックスをクリアすると、依存関係を警告するメッセージが表示されることがあります。コンピュータをサーバーとしてではなく、Visual InterDev のクライアントとして使用するために、[はい] をクリックして依存関係を無視します。
- ウィザードの残りの手順を実行します。
Windows NT へのサーバーのインストール
Windows NT にサーバーをインストールするには、次の手順で操作します。
- ウィザードの選択画面で、[BackOffice セットアップ ウィザード] をクリックし、[セットアップ] をクリックします。
- [カスタム] または [Visual InterDev 開発者] オプションを選択できる画面が表示されます。[カスタム] オプションを選択し、[次へ] をクリックします。
- 次のオプションを選択します。
[Windows NT Option Pack 4.0]
[MS Data Access コンポーネント]
[リモート データ マシン デバッグ]
[FrontPage Server Extensions]
[Visual InterDev サーバー コンポーネント]
- [次へ] をクリックする前に、[Windows NT Option Pack 4.0] ノードを展開します。デフォルトで選択されているオプションのほかに、[Visual InterDev RAD Remote Deployment Support] ノードを選択します。[Visual InterDev RAD Remote Deployment Support] ノードを展開し、[Visual InterDev RAD Remote Deployment Support] の 2 番目のインスタンスをクリックします。両方のレベルで、[Visual InterDev RAD Remote Deployment Support] がクリックされていることを確認します。
- [次へ] をクリックし、[BackOffice セットアップ ウィザード] の残りの手順を行います。
- Windows NT 4.0 Service Pack 4 をインストールします。既に Service Pack 4 がインストールされている場合は再インストールし、手順 1 ~ 5 でインストールしたサーバー コンポーネントを更新します。
5.4.2. データ接続の変更
OLE DB データ ソース プロバイダを使用して、データ接続を確立できるようになりました。これにより、データソースに柔軟性を与え、接続がより効率的になりました。OLE DB プロバイダがサポートしていないデータソースについては、ODBC ベースの接続を使用できます。
詳細については、ActiveX データ オブジェクト (ADO) のドキュメントの「ADO におけるプロバイダの使用」、および Visual InterDev 6 のドキュメントの「データベースに接続する」を参照してください。
5.4.3. HTML エディタの変更
5.4.3.1. Service Pack 3 で修正された問題
新しいグリフ
非表示要素のマークに使用されるグリフは、Microsoft Internet Explorer 4.0 と Internet Explorer 5 のどちらでエディタを併用するかによって異なります。Internet Explorer 4 で使用されるグリフについては、Visual InterDev に付属するドキュメントで説明しています。次の表は、コンピュータに Internet Explorer 5 がインストールされている場合にエディタに表示されるグリフです。
グリフ |
意味 |
|
HTML comment (<!- through ->) |
|
改行 (<BR> タグ) |
|
ディビジョンの開始 (<DIV> タグ) |
|
ディビジョンの終了 (</DIV> タグ) |
|
フォームの開始 (<FORM> タグ) |
|
フォームの終了 (<FORM> タグ) |
|
段落の開始 (<P> タグ) |
|
段落の終了 (</P> タグ) |
|
スパンの開始 (<SPAN> タグ) |
|
スパンの終了 (</SPAN> タグ) |
|
スタイル要素 (<STYLE>) |
|
文書の <BODY> 部分のスクリプト。このスクリプトには、クライアント スクリプト ブロック (<SCRIPT>) と .asp ファイル内のインライン サーバー スクリプト ブロック (<% %>;, または <SCRIPT RUNAT="Server">) を含めることができます。 |
|
絶対位置に配置された要素、および右または左に整列されたイメージ要素 (たとえば、<IMG ALIGN=RIGHT>) のアンカー ポイント。グリフは、HTML 文書内の要素が定義される HTML タグの場所に表示されます。 |
|
認識されない HTML タグと、一致する開始タグを持たない終了タグ |
余白の保存の向上
Internet Explorer 5 を使用すると、スクリプトやデザインタイム コントロール (DTC) など、特別な処理を必要とする要素をフィルタ処理するときに、Visual InterDev が HTML ファイルのレイアウトをより正確に保存できます。
このリリース ノートの 「HTML エディタでの余白の保存に関する例外」も参照してください。
5.4.4. ASP スクリプト オブジェクトのデバッグ
5.4.4.1. Service Pack 3 で修正された問題
スクリプト オブジェクト モデルに新しいデバッグ機能が追加されました。追加されたのは、データベースのアクセス時などに低レベルのコンポーネントで発生するエラーをキャッチする機能、イベントをトレースする機能、スクリプト オブジェクトにエラーが発生したときに警告を表示する機能です。デバッグおよびスクリプト オブジェクト モデルの詳細な情報については、Visual InterDev 6.0 に付属のドキュメントの "サーバー スクリプトをデバッグする" トピック、およびサポート技術情報の記事 J047847 を参照してください。
ASP スクリプト オブジェクトのデバッグを有効にする
ASP スクリプト オブジェクトのデバッグに関するドキュメントには、ページを初めて作成すると、.asp ページに次のスクリプト ブロックが自動的に追加されるという誤った内容が記載されています。
<SCRIPT id=DebugDirectives runat=server language=javascript>
// デバッグまたはトレースを有効にするには、これらを true に設定する
@set @debug=false
@set @trace=false
</SCRIPT>
これは誤りです。スクリプト ブロックは、そのページのスクリプト オブジェクト モデルを有効にするまでページに追加されません。
既存のアプリケーションへのデバッグを追加する
Visual InterDev 6 を使用して新しい Web ページを作成すると、新しいスクリプト オブジェクト デバッグ機能を自動的に使用できるようになります。ただし、この機能は既存のアプリケーションには自動的に追加されません。デバッグ機能を使用するには、アプリケーション (プロジェクト) のスクリプト ライブラリを更新し、次の手順に従って、個々の .asp ページを更新する必要があります。
既存のアプリケーションのスクリプト ライブラリを更新するには
- Visual InterDev を起動し、更新するプロジェクトを開きます。
- プロジェクト エクスプローラを開き、プロジェクトを開いて _ScriptLibrary ノードを表示します。
- [_ScriptLibrary] ノードをマウスの右ボタンでクリックし、[追加] をクリックします。次に、[項目の追加] をクリックします。
- [項目の追加] ダイアログボックスが表示されたら、[既存のファイル] タブをクリックします。[ファイルの場所] ボックスで、コンピュータのマスター スクリプト ライブラリに移動します。このライブラリは、通常は次のフォルダに保存されています。
\Program Files\Microsoft Visual Studio\VIntDev98\ScriptLibrary
- フォルダ内のすべてのファイルを選択し、[開く] をクリックします。
- プロジェクトのスクリプト ライブラリに存在するファイルが上書きされることを示すメッセージが表示されたら、それに同意します。
- ASP スクリプト オブジェクト デバッグを使用するすべてのプロジェクトについて、この手順を繰り返します。
スクリプト ライブラリを更新すると、個々の .asp ページにデバッグを追加できるようになります。
個々の .asp ページにスクリプト オブジェクト デバッグを追加するには
- .asp ページを開き、ページの最上部にある
<% @Language= %>
ブロックの直後に次のブロックを追加します。<SCRIPT id=DebugDirectives runat=server language=javascript>
// デバッグまたはトレースを有効にするには、これらを true に設定する
@set @debug=false
@set @trace=false
</SCRIPT>
- 使用するデバッグ オプションを設定します。詳細については、ドキュメントの「サーバースクリプトをデバッグする」を参照してください。
5.5.5. スクリプト ライブラリのローカライズ済みエラー メッセージ
5.5.5.1. Service Pack 3 で修正された問題
Visual InterDev デザインタイム コントロールの使用中にスクリプト ライブラリ内でエラーが発生すると、英語のエラー メッセージとエラー番号が表示されます。翻訳されたエラー テキストを参照するには、エラー番号を使用します。エラー メッセージの翻訳バージョンは、Service Pack 3 CD の各言語ディレクトリの [\support] フォルダに保存されている [SLErrors.htm] ファイルに記載されています。サービス パックをダウンロードすると、[SLErrors.htm] ファイルは、ファイルを展開したフォルダに保存されます。
5.4.6. その他の修正
5.4.6.1. Service Pack 4 で修正された問題
Visual Studio 6.0 Service Pack 4 では、次の問題も修正されました。修正項目の直前に表示される J 番号は、問題と修正の詳細を示すサポート技術情報の記事の ID です。
- J047967: Windows 2000 では、クエリ ビルダのテーブルで右クリックしても、ショートカット メニューが表示されません。
- J047963: Visual Studio Service Pack 3 をインストールすると、レコードセット DTC 用の接続一覧に、一部のデータ接続が表示されません。
- J047965: Web プロジェクト ウィザードでは、大半のエラー メッセージが正しく表示されず、代わりに "サーバーに接続できません。" というエラー メッセージが表示されます。Service Pack 4 の Web プロジェクト ウィザードでは、この問題が解決されています。
- Internet Information Server 5 上で、アプリケーション ルートを作成できません。
- J047968: InterDev でファイルを同期するとアクセス違反が発生します
- J047964: Visual InterDev は Web サーバーのバージョンを誤って認識します。
- J047966: SQL Server 2000 が読み取り専用モードのとき、Visual InterDev は警告を表示します。
- Visual InterDev は、スプラッシュ スクリーンでService Pack のバージョンを表示しません。
5.4.6.2. Service Pack 3 で修正された問題
Visual Studio 6.0 Service Pack 3 では、次の問題も修正されました。修正項目の直前に表示される J 番号は、問題と修正の詳細を示すサポート技術情報の記事の ID です。
- J047702: 削除されたレコードを参照しても、ページは更新されません。
- J047703: FrontPage 98 を使用して ASP ページを編集すると、問題が発生します。
- J047704: Web プロジェクトを開くための Web Server への接続は、タイムアウトになりません。
- J047829: Visual InterDev 6.0 で ソース ビューに切り替えると、一般保護違反が発生します。
- J047850: Internet Explorer 5 では、誤った HTML エディタが選択されます。
- J047836: テーブルにテキストを貼り付けると、スタイルが維持されません。
- DIV タグ内のテキストを均等割り付けすると、DIV タグが残ります。
- J047834: 64MB の Win9x クライアントでは、多くの DTC でメモリ問題が発生します。
- J047842: 箇条書きスタイルを変更すると、標準に戻ります。
- J047845: FIELDSET に含まれる要素の位置を揃え直すと、Visual InterDev がクラッシュします。
- J047848: HTML の選択がフォーカスを失うと、Visual InterDev がクラッシュします。
- J047837: ソース コントロールで SP にアクセスすると、Visual InterDev が応答しなくなります。
- J047838: タブを変更すると、予期せぬ色名が返されます。
- J047840: 英語版以外の Visual InterDev では、テンプレート ウィザードに問題が発生します。
- J047841: Visual InterDev 6.0 では、データ ツールのタイムアウト値が機能しません。
- J047843: 問題を回避するために、新規作成するファイルから ASP が削除されました。
- J047844: デーブル デザイン ウィンドウのシステム メニューで、一般保護違反が発生します。
- データ ビューに次の接続が表示されません。
- Access では、データ ビューのアクション クエリを実行できません。
- J047849: Visual InterDev 6.0 では、HTC (Internet Explorer 5 スクリプト ビヘイビア) をデバッグできません。
- J047830: HTA App (Internet Explorer 5 のビヘイビア) をデバッグすると、Internet Explorer 5 がシャットダウンされます。
- J047831: Visual InterDev スクリプト デバッガが原因で、Internet Explorer でアクセス違反が発生します。
- J047832: Access OLEDB 接続のオブジェクト名のリストが不正確です。
- J047835: Visual InterDev 6.0 の thisPage.navigate.Show() で一般保護違反が発生します。
- J047827: Visual InterDev 6.0 の DISPLAY 機能は拡張されました。
- J047833: Windows 2000 に対する Windows NT 4 クライアントのデバッグに問題があります。
- ユーティリティ プロジェクトで [名前を付けて保存] コマンドを実行すると、IDE がクラッシュします。
- ActiveX コントロールが定義された ASP ページを開くと、Visual InterDev 6.0 がクラッシュします。
5.4.7. 既に確認されている問題
HTML エディタの余白の保存に関する例外
文書を HTML エディタにロードするか、またはデザイン ビューとソース ビューを切り替えると、エディタは、文書の書式をできるだけ正確に保存しようとします。ただし、書式を完全に保存することはできません。Internet Explorer 5 を使用している場合は、文書に次の変更が加えられます。
- <OBJECT> 要素内の <PARAM> 要素は、変更されることがあります。この変更には、1 つの <PARAM> 要素が複数に分割されたり、複数の <PARAM> タグが 1 つに統合されたりするなど、タグの再構成が含まれます。また、既定値を明示的に指定する <PARAM> タグが追加されることもあります。<PARAM> タグに加えられる変更は、<OBJECT> 要素で参照されるオブジェクトによって異なります。複数の <PARAM> タグに同じ名前が設定されている場合は、重複するタグが削除されます。
- 大文字と小文字が異なる一致タグの組み合わせは、開始タグの最初の文字に合わせて文字の大小が変換されます。たとえば、<sTRONG>My Page</STRONG> は、<strong>My Page</strong> に変換されます。
- インライン スタイル属性 (STYLE="") の内容の書式は保持されず、スタイル属性の順序は変更される場合があります。具体的には、次のような変更がありえます。
- スタイル名のすべての文字が大文字に変換され、スタイル属性のすべての文字が小文字に変換されます。たとえば、Background-Color=#FF01EA は BACKGROUND-COLOR=#ff01ea に変換されます。
- 複合スタイル属性が個別スタイル属性に変更されることがあります。たとえば、BORDER スタイル属性は、BORDER-LEFT、BORDER-TOP、BORDER-RIGHT、BORDER-BOTTOM に変更される可能性があります。
- 明示的に空の文字列が割り当てられた属性は、削除されることがあります。たとえば、<INPUT> タグの属性 VALUE="" は、削除される可能性があります。
- 文書の構造を完成させる、または修正するために、タグが挿入されることがあります。たとえば、<TD> タグの周囲に <TR> タグが見つからない場合は、DHTML 編集コンポーネントが <TR> タグを追加する可能性があります。
- 次の要素を含む文書は読み込めません。
再計算時にテーマの一部が削除される
テーマに属するファイルを取得するためにソース管理を使用している場合は、そのテーマに属するすべてのファイルに対して [チェック アウト] または [最新バージョンの取得] を実行します。この操作を行う場合は、ファイルを取得する前に、テーマのフォルダを選択することによって実行します。この処理をせず、テーマの一部がローカルにあり、残りがサーバー上にあると、問題が発生する可能性があります。リンクを再計算したり、ローカルからマスター モードに切り替えると、プロジェクトからテーマが削除されることがあります。同様に、チェック インの際には、すべてのファイルを同時にチェックインしてください。
ページ上の RDS オブジェクトによる "ロードに失敗" メッセージの生成
RDS コンポーネントを参照する <OBJECT> タグがページに含まれる場合は、HTML エディタのソース ビューに切り替えたときに、次のメッセージが表示されます。
いくつかのオブジェクトのロードに失敗しました。オブジェクトはテキストとして表示されます。
これは、RDS オブジェクトが視覚的な表現を持たず、ソース ビューがレンダリングできないことが原因です。ただし、オブジェクトは正常に機能します。
VBScript または JScript バージョン 5.1 をインストールすると、IntelliSense が正常に動作しない場合がある
VBScript または JScript を 5.1 にバージョンアップした後、コード エディタの Intellisense において、オブジェクトのメンバの表示ができないことがあります。Windows NT 4 上では、メンバのリスト表示に時間がかかる可能性があります。Windows 2000 上では、すべてのリストが表示されないことがあります。
これは、次のような記述の後、続けてピリオドを入力し、オブジェクトのメンバを参照する場合に発生します。
document.Form1.Select1
document 部分を省略すると、IntelliSense はメンバ リストを正しく表示します。
Form1.Select1
5.5. Microsoft Visual J++
5.5.1. 仮想マシン (VM) と Windows 2000
現時点では、ファイル システムの保護機能が原因で、Microsoft Virtual Machine を Windows 2000 にインストールできません。そのため、Service Pack 4 の仮想マシンに関する修正点は、Windows 2000 で動作するシステムには適用されません。
この問題は、今後リリースされる Windows 2000 の Service Pack 1 で修正される予定です。
5.5.2. インストール情報
Microsoft Transaction Server (MTS) のデバッグに関連する Visual J++ 6.0 の一部の機能を使用するには、Windows NT 4.0 Service Pack 6a (SP6a) 以上が必要です。なお、Windows NT 4.0 Service Pack は、Microsoft Windows NT Update (http://www.microsoft.com/japan/products/ntupdate/fixlist/ForNT40.htm) からダウンロードできます。
5.5.3. 新しい Microsoft 仮想マシン
「オートメーションの修正」で説明したオートメーションの問題に対応するため、Service Pack 2 以降では、Microsoft® 仮想マシン ファイルが更新されています。このサービス パックに含まれる Microsoft 仮想マシンのバージョンについては、「ファイル バージョン」の Visual J++ セクションを参照してください。この変更は、Microsoft Visual J++ がインストールされているマシンと、Visual J++ の再頒布可能フォルダの両方に適用されます。そのため、配布する Visual J++ アプリケーションにも、更新されたオートメーション ファイルが含まれます。
Microsoft 仮想マシン システム クラスについて、製品版とデバッグ バージョンを切り替えるときには、classd.exe ファイルまたは classr.exe ファイルを実行します。
このサービス パックには、連邦地方裁判所判事 Ronald H. Whyte によって発行された仮決定に準拠するため、Visual J++ ファイルが含まれています。この変更は、Service Pack 2 にも加えられています。詳細については、[Visual Studio] フォルダの \vj98\extwarn.txt、または http://msdn.microsoft.com/visualj を参照してください。
5.5.4. コンパイラ、デバッガ、ActiveX、IDE の修正
5.5.4.1. Service Pack 4 で修正された問題
- COM+ コンポーネントを使用してプロジェクトを何回か作成すると、IDE でエラーが発生します。
- J047961: 英語版以外のシステムで、Jactivex.exe をコマンドラインから実行すると、英語版システムでテキストが表示されるべき行が、空白で表示される場合があります。
- J047962 英語版以外のシステムで、Jactivex.exe をコマンドラインから実行すると、英語版システムでテキストが表示されるべき行が、空白で表示される場合があります。
5.5.4.2. Service Pack 3 で修正された問題
このサービス パック リリースでは、一般的なプログラミング環境に関する次の問題が修正されました。
- J047815: Java/COM でパッケージされた DLL からは onCOMRegister メソッドを呼び出せず、DLL の登録に問題が発生します。
- XML データを変換するスクリプトを実行した後に、Pdm.dll ファイルを実行すると、一般保護エラーが発生します。
- 連続するスペース、改行、キャリッジ リターンの特定の組み合わせによって、Visual J++ コード エディタとデバッガがコードのステップ実行と同期しなくなります。
- Visual J++ で作成したコントロールには、既定のスレッド モデルである Both を使用して作成されたことを示すマークが付けられます。この既定の設定によって、いくつかの問題が発生します。ユーザー インターフェイス コントロールがコントロールのウィンドウ ハンドルを持つスレッドにバインドされるため、マルチスレッド アパートメント スレッドでコントロールが正常に機能しなくなります。Service Pack 3 では、ActiveX コントロールの既定のスレッド モデルは Apartment に変更されました。
- Visual J++ デバッガがインストールされたマシンでは、Internet Explorer 5 を終了しようとすると異常終了します。 この問題は、Internet Explorer 5 の表示内容の種類と、マシンのスピードに依存します。この問題は、Visual Studio Service Pack 3 で修正されました。
- ユーティリティ プロジェクトに対し、[名前を付けて保存] コマンドを実行すると、IDE はクラッシュします。 この問題は、このサービス パックで修正されました。
- 中断モードでデバッグ中に、ユーザーが [ブレーク ポイントのプロパティ] ダイアログボックスを数回開くと、Visual J++ がこれらのダイアログ ボックスの複数インスタンスをうまく処理できなくなります。
- JVC は、com.ms.fx.IFxLocaleFormatting.class または com.ms.fx.FxFormattedText.class を正常にコンパイルできません。
- スクリプト ビヘイビアのデバッグ問題 デバッガから Internet Explorer 5 のスクリプト ビヘイビア (.htc) にアクセスできないため、スクリプト ビヘイビアをデバッグできません。この問題は、Visual Studio 6.0 Service Pack 3 で修正されました。
- スクリプト デバッガが存在する場合でも、ランタイム エラーが Visual Studio によって処理されます。 スクリプト デバッガがインストールされている場合でも、ランタイム エラーが Visual Studio 6.0 によって処理されます。この状況では、スクリプト デバッガは、デバッグに使用するアプリケーションとして選択できません。Service Pack 3 では、Visual Studio とスクリプト デバッガのいずれかを使用してランタイム エラーを処理できるように変更されました。
- Service Pack 3 には、ユーザーが .js ファイル、.vbs ファイルにデザインタイム ブレークポイントを設定するためのデバッガの更新が含まれます。
- シングル スレッド ActiveX コントロールを含むフォームの動作は、アプリケーションの実行環境によって異なります。たとえば、シングル スレッドのエディット コントロールを作成し、そのコントロールをフォームに含めると、フォームを実行可能ファイルにコンパイルしたときに、エディット コントロールがキーストロークを処理できません。ただし、フォームを実行可能ファイルにコンパイルせずに、JView からアプリケーションを実行した場合は、エディット コントロールは指定どおりに動作します。このサービス パックには、WFC フォームに埋め込まれたシングル スレッド ActiveX コントロールを実行環境に関係なく有効化するための更新が含まれます。
- Internet Explorer 5 の DHTML Edit コントロールを追加すると、Visual J++ は適切なラッパーの生成とコンパイルを開始しますが、フリーズします。この問題は、このサービス パックに含まれる [Jactivex.exe] ファイルで修正されました。
- Windows NT で Visual J++ 6.0 をデバッグするときに、マシン デバッグ マネージャは、これまでプロセスのファイル名をパフォーマンス データ レジストリから取得していました。この方法でプロセス情報を取得しようとすると、クラッシュします。マシン デバッグ マネージャは、最初にプロセス ステータス API からプロセス データを取得するように修正されました。この試みに失敗した場合は、マシン デバッグ マネージャはパフォーマンス データ レジストリを検索します。
5.5.5. Microsoft Windows Foundation Class の修正
5.5.5.1. Service Pack 3 で修正された問題
ActiveX のサポートの修正
- J047741: ActiveXHost が、特定の ActiveX コントロールのライセンスを処理しない DB Grid 6.0 など、ライセンスを必要とする ActiveX コントロールを、フォームを作成したコンピュータ以外のコンピュータで使用すると、ライセンスが n 日で失効することを示す警告またはエラー ダイアログが表示されます。この問題は、アプリケーションが配置されたコンピュータに、有効なライセンスのコピーが存在する場合でも発生します。この問題は修正され、コントロールのライセンスが有効である限り、警告は表示されなくなりました。
HTML 内のコードの修正
- J046238: nitForm からの DhDocument.setTitle が機能しない DhDocument.setTitle (string title) を呼び出しても、ドキュメントのタイトルが変更されません。この問題に対応するには、onDocumentLoad で setTitle を呼び出します。現在では、DhDocument.setTitle は initForm と onDocumentLoad の両方で正常に機能します。
- J047719: <BODY> タグが大文字で記述されていない場合、バインドされたテンプレートに JDHTML コントロールを追加できない [HTML 内のコード] テンプレートを使ってサーバー サイド DHTML アプリケーションを作成したときに、HTML テンプレート文書の <BODY> タグが大文字 (<BODY>) で記述されていない場合は、HTML 内のコード モジュールはドキュメントを正しくバインドできず、ページに DhElements を追加できませんでした。現在、<BODY> タグの大文字と小文字は区別されないようになりました。
- J047718: DhDocument.dumpDHTML と DhDocument.dumpHTML を呼び出す場合の WinIOException DhDocument.dumpHTML と DhDocument.dumpDHTML はサポートされていないメソッドです。これらのメソッドには @deprecated というマークが付けられ、使用しようとするとコンパイラから警告が発せられます。
- J047729: DhCell.resetTextAlign は、オブジェクトを含む行に合わせて、セル テキストの配置をリセットしない 現在では、DhCell.resetTextAlign は、そのセルを含む DhRow と一致するように、セル内のテキストが整列するようになりました。
- J047728: ヘッダー行またはフッター行を削除すると、DhTable.removeAll が例外を発生する 製品版の WFC では、ヘッダーまたはフッターを削除するときに ArrayIndexOutOfBounds 例外が発生します。この問題は解決されました。
- J047822: DhStyleBase に setBackgroundImage が存在しない Internet Explorer ドキュメント オブジェクト モデルを使ってプログラミングしない限り、DhStyleBase から派生する要素の背景イメージ スタイルを直接設定することはできません。現在では、DhStyleBase に setBackgroundImage (string imageURL) という新しいメソッドが用意されました。この imageURL は、イメージへのパス (完全パスまたは相対パス) です。
- J047826: HTML 内のコードで、WFC.UI コントロールのイベント ハンドラのサポート Visual J++ 6.0 で HTML 内のコードを使用したプロジェクトでは、HTML ページに wfc.ui コントロールを追加すると、onEnter イベントおよび onLeave イベントのイベント ハンドラがサポートされませんでした。ただし、onMouseEnterイベントおよびonMouseLeave イベントは正常に機能します。onEnter と onLeave は、wfc.ui.Form にコントロールが配置された場合にだけ実行されます。
- DhInlineFrame にバインドすると、onDocumentLoad の呼び出しが停止する DhDocument.setBoundElements(DhElement elements[]) を使用して、DhInlineFrame を initForm の <IFRAME> タグにバインドすると、フレームワークによって非明示的に処理される例外が発生します。エラー メッセージはありません。この結果、ドキュメントでは onDocumentLoad が呼び出されなくなります。現在では、この問題は修正されました。フレームワークは DhInlineFrame を <IFRAME> タグにバインドし、onDocumentLoad は指定どおりに呼び出されれるようになりました。
- SPAN タグで囲まれないテキストを含む DIV 要素にバインドすると、例外が発生する 複雑にネストされた要素にバインドすると、要素が見つからないことを示す例外が発生することがあります。この問題に対応するには、生の HTML テキストを <span> タグで囲みます。この問題は修正されたため、現在では対策は必要ありません。
- HTML 内のコードでの WFC コントロールの呼び出しとメソッドのバインド HTML ページに com.ms.wfc.ui コントロールを追加し、HTML 内のコードで使用することができます。適切に動作させるには、DhBaseContainer.add( com.ms.wfc.ui.Control c) メソッドを呼び出すか、DhComponentWrapper を使用する必要があります。DhComponentWrapper を作成して Control プロパティを設定し (またはコンストラクタにコントロールを指定し)、それをコンテナに追加すると、DhBaseContainer.add メソッドの呼び出しと同じ効果を得られます。詳細については、DhComponentWrapper と DhBaseContainer のリファレンスを参照してください。
- コンソール アプリケーションから DhModule.doMain を呼び出すと、NullPointerException が発生する コンソール アプリケーションからサーバー サイド アプリケーションをテストするには、DhModule オブジェクトを作成し、サーバー サイドのコード クラスを設定し、doMain を呼び出します。これまでは、この方法で doMain を呼び出すと、NullPointerException が発生しましたが、現在では正常に機能します。
- タブの選択状態を変更すると、NullPointerException が発生する HTML 内のコードでは、HTML ページをホストとする TabControl でタブを選択すると、NullPointerException が発生します。現在では、この例外は発生しなくなりました。
- HTML エディタで編集された HTML 内のコード アプリケーションが Internet Explorer 5 で機能しない <OBJECT> 要素の <PARAM> タグが誤って削除されるため、HTML エディタで編集された HTML 内のコード アプリケーションは、Internet Explorer 5 では機能しません。既に配置されている HTML 内のコード アプリケーションには影響しません。この問題は、Visual Studio Service Pack 3 で修正されました。
- Internet Explorer 5 がインストールされている場合は、vj6sampl.exe の HTML 内のコード サンプルが機能しなくなることがある Microsoft 仮想マシンのバージョン 5.0.3167 がインストールされている場合は、"dhButton"、"dhContainer"、"dhImage" など、vj6sampl.exe ファイルに収録されている HTML 内のコード サンプルが機能しなくなることがあります。Microsoft VM バージョン 5.0.3167 は、Internet Explorer 5 に付属します。この問題は、Visual Studio Service Pack 3 で修正されました。
- DhBulletedList.resetID が DhElementNotFoundException を発生する 現在でも、DhBulletedList で resetID を呼び出すと、DhElementNotFoundException が発生します。また、resetID メソッドには古い形式であることを示す @deprecated というマークが付けられています。このメソッドを使うと、コンパイル時に警告が生成されます。ただし、開発者がこのメソッドを誤って呼び出さないように、入力支援機能またはオブジェクト ブラウザには表示されなくなりました。
- データが連結された DhTable に含まれるセルの DhCell.getText が空の文字列を返す 現在では、これは正常に機能します。
- DhDocument.findElement を DhDocument.getAllElements の後に呼び出すと、DhElementNotFoundException が発生する DhDocument.getAllElementsを呼び出した後に、要素を検索するために DhDocument.findElement(String elementID) を呼び出すと、DhElementNotFoundException が発生します。現在では、DhDocument.getAllElements を最初に呼び出した場合でも、DhDocument.findElement は正常に機能します。
- DhEdit.addOnClick は、複数行テキスト ボックスだけで com.ms.wfc.core.WFCException を発生する initForm の複数行 DhEdit にイベント ハンドラを追加すると、その要素は、<INPUT type=text> または <TEXTAREA> でないという WFCException が発生します。この問題に対応するには、onDocumentLoad 内の複数行エディット コントロールにイベント ハンドラを追加します。現在では、initForm と onDocumentLoad の両方でイベント ハンドラが指定どおりに機能するようになりました。
- DhElement resetID メソッドは、古い形式のメソッド DhElement クラスの resetID メソッドは、失敗します。DhElement resetID メソッドは、このサービス パックでは機能しますが、古い形式のメソッドであり、使用しないことをおすすめします。
- DhModule の finalize が実行されず、IIS メモリのリークが発生する このサービス パック リリースでは、使用後の DhModule は適切に解放されます。
- オブジェクトの PARAM 値を取得する DhModule のメソッド 現在では、DhModule クラスのメソッドを使って、オブジェクトの PARAM タグの値を取得できます。次のメソッドをサポートしています。
- public String getParameter(String paramName)
- public String[] getParameterNames()
paramName パラメータには、取得するオブジェクト パラメータを指定します。指定したパラメータに対応するオブジェクト パラメータが存在しない場合は、このメソッドは空の文字列を返します。
2 番目のメソッドである getParameterNames は、すべての PARAM 値の名前を取得し、この名前を String オブジェクトの配列に返します。これらのメソッドは、Internet Explorer 内でだけサポートされています。別の環境からこれらのメソッドを呼び出すと、WFCInvalidStateException が発生します。
- DhRadioButton と DhCheckBox は、HTML に設定されているドキュメント オブジェクト モデル属性またはスタイルに準拠しない カスタム プロパティが設定された HTML ラジオ ボタンまたはチェック ボックスにバインドした場合は、そのオブジェクトを JDHTML にバインドした時点で、プロパティが維持されなくなります。オブジェクトがバインドされると、これらのプロパティは失われます。現在では、この問題は修正され、ラジオ ボタンとチェック ボックスのカスタム プロパティを JDHTML でも使用できます。
- DhRow.add は、DhCell 専用 WFC の最初のリリースでは、すべての DhElement 派生オブジェクトに対し、DhRow.add を使用できました。オブジェクトが DhCell から派生したものでない場合、メソッドはエラー メッセージを生成せずに失敗します。このリリースでは、DhCell から派生したオブジェクトでない場合、WFCInvalidParameterException が発生するようになりました。
- getBodyCell の後に、DhTable.showNextPage を呼び出すと、null ポインタ例外が発生する この問題は、Internet Explorer 5 だけで発生します。現在では、getBodyCell を呼び出した後でも、DhTable.showNextPage は、正常に呼び出だせるようになりました。
- DhText.setFont、DhText.getFont、DhText.resetFont が正常に機能しない DhText オブジェクトに含まれるテキストが、打ち消し線または下線付きのフォントで表示される場合は、下線または打ち消し線付きのフォントが設定されていないオブジェクトで setFont を呼び出しても、フォントから下線または打ち消し線の属性が削除されません。この問題は修正され、指定どおりに機能するようになりました。
- サーバー サイド コードで WFC 内の例外をキャッチすると、IIS に問題が発生し、メモリ不足が発生する コンテナに追加されたことのないデータ連結 DhTables では、適切な finalize が行われず、IIS がメモリを消費したまま、解放しなくなります。
- ネットワーク間で複雑な HTML 内のコードをロードする場合に、Internet Explorer 5 が "WFC form surface exception" を返す Internet Explorer 5 の既定のセキュリティ設定では、ネットワーク ドライブまたはイントラネット サイトから、HTML ドキュメントを読み込んだ場合に、HTML 内のコードにある WFC コントロールが正常に機能しませんでした。現在では、HTML 内のコードは指定どおりに機能するようになりました。
- タイマーが開始した後に、Mshtml.dll に関する Internet Explorer の問題によってブラウザ ウィンドウが閉じる タイマー コントロールの IOleClientSite は、オブジェクトが解放される前に破棄されていました。現在では、サイトが破棄される前にオブジェクトが解放されます。
- パフォーマンスの向上: DhBaseContainer.removeAllSafe の追加 DhBaseContainer には、すべての子要素をすばやく削除する removeAllSafe メソッドが追加されました。現在は B>DhBulletedList で使用され、派生コンテナでも次のように使用できます。
public void setElement(DhElement e)
{
removeAllSafe();
m_item = e;
if (e != null)
super.add(e);
}
- 最初にオブジェクトがバインドされていない場合の DHDocument への要素のバインドに関する問題 DhDocument へのオブジェクトのバインドと追加には問題がありました。setHTMLDocument への呼び出しの前に DhDocument にオブジェクトが追加されていない場合は、setBoundsElement など、それ以後に行われる DhDocument へのすべての追加が失敗します。この問題は、修正されました。
- ReadyStateEvent は、readyState の値として "???" を持つ 準備状態に関係なく、ReadyStateEvent は readyState の値として文字列 "???" を持っていました。現在では、準備状態の値は、complete、interactive、loaded、uninitialized のいずれかです。
- 名前の先頭にピリオドを持たないスタイルは、要素に追加できない DhStyle(String name) コンストラクタを使用して DhStyle を作成すると、name パラメータがピリオドから開始されない場合は、要素にスタイルを追加できません。現在では、スタイル名がピリオドから始まらない場合は、このコンストラクタによってピリオドが追加されるようになりました。
- getPropertyBag メソッドが DhModule に追加された WFC の最初のリリースでは、DhDocument から派生するクラスは、HTML 内のコードで DhModule <OBJECT> タグ内の <PARAM> タグを取得できませんでした。DhModule には、2 つの新しいメソッドが追加されました。
- public String[] getParameterNames
各 <PARAM> タグの NAME 属性を表す文字列の配列を返します。
- public String getParameter(String parameterName)
渡された parameterName の VALUE 属性を返します。
- 既存のヘッダー行またはフッター行を持つテーブルにバインドしたときに、ヘッダー行、フッター行がテーブルの一部として扱われない HTML 内の既存の <TABLE> に DhTable をバインドするために DhDocument.setBoundElements(DhElement elements[]) を呼び出すと、テーブルにバインドされます。ただし、そのテーブルが <THEAD> または <TFOOT> を持つ場合は、どちらもテーブルの一部として扱われません。たとえば、myTable.removeAll は本文のすべての行を削除しますが、ヘッダーとフッターの行は残ります。以前の対処方法は、onDocumentLoad で DhDocument.findElement(String ID) を呼び出すことによって <TABLE> を取得するというものでした。現在では、どちらのシナリオも指定どおりに機能します。
WFC ライブラリとコントロールに関するその他の修正
5.5.6. その他の修正
5.5.6.1. Service Pack 3 で修正された問題
5.6. Microsoft Visual SourceSafe
Visual Studio Service Pack 4 は、Visual SourceSafe 6.0a を含んでいます。バージョン 6.0a は、Visual SouceSafe 6.0 の問題を修正したものが収録されていますが、新しい機能の追加はありません。Visual Studio Service Pack 4 をインストールすると、バージョン 6.0a にアップグレードできます。
5.6.1.1. Service Pack 4 で修正された問題
Visual SourceSafe に関する次の問題が修正されました。
- Project Difference で、ファイルが変更されたというメッセージが表示されてから、同一ファイルであるというメッセージが表示されます。
- J053441: ルート ラベル上の再帰的 SS Get が、ファイルへの書き込み完了に失敗します。
- J052292: [VSS] ユーティリティ使用時の "メモリが不足しています。" エラー
- J052332: [VSS] プロジェクトを完全にはきまたはリネームするときにエラー。
- アーカイブ ファイルの復元を試みると "開かれているファイルが多すぎます。" というエラー メッセージが表示され、ファイルが復元されません。
- JPN: 最初の 8 バイトが同一の MBCS ファイルが、DB 上に 10 個存在すると、analyze -f で整合性エラーが発生します。
- J053442: Analyze6.exe -f が、0 バイトのファイルでプロジェクト データ ファイルを置換します。
- J052333: [VSS] 共有ファイルを削除後に分岐すると Analyze でエラーが通知されます。
- Windows 2000 で動作するシステム上で、通常のユーザーが VSS データベースを開けません。
- OLE オートメーション: VSSItem::Get 内でメモリ リーク。
5.6.1.2. Service Pack 3 で修正された問題
このサービス パックで、Visual SourceSafe に関する次の問題が修正されました。
- J047725: [プロジェクトの履歴] ダイアログからラベルを指定して [取得] を発行すると、VSS 6.0 がハングします。
- J047763: VSS 6.0 クライアントによって $/ というラベルが付けられたサブプロジェクトのラベルを VSS 5.0 形式のデータベースからラベルを指定して [取得] しようとすると、[バージョンが見つかりません] というエラー メッセージが表示され、何も検索されません。
- VSS DB 分析ユーティリティは、アクセス違反を起こし、クラッシュします。
- VSS 6.0 の [相違点] ウィンドウには動作上の問題があります。VSS 6.0 の [相違点] ウィンドウには、誤った情報が表示されたり、有効な動作が実行されないなどのいくつかの動作不具合が報告されています。[相違点] ウィンドウに関するこれらの表示問題の多くは、このサービス パックで修正されました。
5.7. Microsoft Visual Studio Analyzer
5.7.1.1. Service Pack 4 で修正された問題
COM+ 1.0 Event Bridge とはなんですか?
COM+ 1.0 は、MTS 2.0 を置換します。MTS 2.0 は、Visual Studio Analyzer をサポートしていました。しかし、COM+ 1.0 は、Visual Studio Analyzer をサポートしません。COM 1.0 によって生成されるイベントは、Visual Studio Analyzer によって生成されるイベントと似ていますが、両者に互換性はありません。イベント ブリッジは、これらのイベントを読み込んで Visual Studio Analyzer イベントに変換することで、この問題を解決します。
COM+ 1.0 Event Bridge は、どのような場合にインストールする必要がありますか?
MTS コンポーネントの分析に Visual Studio Analyzer 6.0 と MTS 2.0 を使用し、Windows 2000 をインストールして COM+ 1.0 に更新した場合は、COM+ 1.0 Event Bridge をインストールする必要があります。COM+ 1.0 に更新すると、Visual Studio Analyzer を使用して MTS イベントを取得できなくなります。COM+ Event Bridge をインストールすると、再び MTS コンポーネントを分析できるようになります。
COM+ 1.0 Event Bridge のインストール
Service Pack 4 のセットアップ プログラムは、インストール時にお使いのマシン環境を検出し、自動的に COM+ 1.0 Event Bridge をインストールします。なんらかの理由によりイベント ブリッジを再インストールするには、以下の手順に従って Vamts.dll を登録する必要があります。
- コマンドラインから、
regsvr32 vamts.dll
と入力します。
- ユーザー
VUSR_<localcomputer>
を Administrators グループに追加します。ブリッジは、このユーザーとして実行されます。ユーザー VUSR_<localcomputer>
は、Visual Studio Analyzer をインストールすると自動的に作成されるアカウントで、<localcomputer>
の部分は、ブリッジをインストールするコンピュータの名前です。COM+ イベントの読み込みには問題があるため、ブリッジが COM+ イベントを読み込むには、ブリッジを Administrator として実行する必要があります。Microsoft では、この問題を調査中です。
ブリッジを削除するには、以下の手順に従って Vamts.dll の登録を解除します。
- コマンドラインから、
regsvr32 /u vamts.dll
と入力します。
- ユーザー
VUSR_localcomputer
を Administrators グループから削除します。
Visual Studio Analyzer を使用した COM+ 1.0 Events の収集
COM+ Event Bridge のインストールが完了すると、イベント ブリッジは COM+ イベント ソースという名前の Visual Studio Analyzer コンポーネントとして登録されます。COM+ Event Bridge は、MTS イベント ソースによって生成されたオリジナル イベントの一部も生成します。また、COM+ 1.0 の新機能によって、新規のイベントも生成されます。これら新規のイベントには、COM+ というプリフィックスが付けられます (COM+ User Exception など)。
既存の Visual Studio Analyzer 6.0 プロジェクトの修復
MTS イベント ソースを直接指定するフィルタがある場合は、COM+ イベント ソースを参照するように変更する必要があります。ALL コンポーネントを指定するフィルタについては、変更する必要はありません。
追加情報
Visual Studio Analyzer バージョン 6.0 の追加情報については、http://msdn.microsoft.com/library/default.asp を参照してください。