本自述文件包含整个 Microsoft Visual Studio 开发人员工具套件的更新信息。如果您已从
Internet 上下载了核心 Service Pack,则本文件的各个部分并非都适用于您收到的更新。适于核心下载的已修复问题列出在 Visual
Studio 部分以及由您的核心下载所更新的产品所在的部分。
Microsoft Visual Studio 6.0 Service
Pack 3 自述文件包含以下几部分:
第 1 部分:概述和安装
第 2 部分:Visual
Studio
第 3 部分:Visual Basic
第 4 部分:Visual C++
第 5
部分:Visual FoxPro
第 6 部分:Visual InterDev
第 7 部分:Visual
J++
第 8 部分:Visual SourceSafe
第 9 部分:文件版本
有关最新的产品信息,请访问 Visual Studio 网站:
http://www.microsoft.com/china/msdn/vstudio/default.aspx
(http://www.microsoft.com/china/msdn/vstudio/default.aspx)
有关最新的产品更新,请访问 Visual Studio 支持集锦网站:
http://support.microsoft.com/support/vstudio
(http://support.microsoft.com/?scid=http%3a%2f%2fsupport.microsoft.com%2fsupport%2fvstudio)
有关本自述文件中其他部分的更多信息,请参见下面的“参考”部分。
Microsoft Visual C++
下面概括了由 Service Pack 3 修复的 Visual C++ 问题(按问题类别和 Service Pack
排列)并提供了已知问题的列表。有关详细信息,请参见列出的知识库文章。
Windows CE ToolKit 和 Visual Studio 6.0 Service Pack 3
当安装 Microsoft Windows CE Toolkit for Visual C++ 6.0 时,Visual
Studio Service Pack 3 将覆盖某些已修改的 Visual C++ 6.0 组件。这意味着,如果计算机上安装了 Service Pack
3,则无法运行 Windows CE Toolkit for Visual C++ 6.0。另请注意,Service Pack 3 不包含卸载程序。如果在安装
Service Pack 3 后需要运行 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 for Visual C++ 的未来版本将解决这一与 Visual Studio 6.0 Service
Pack 3 不兼容的问题。
ATL 问题
在 Windows 2000 Beta 3 上安装 Service Pack 3
有关在 Windows 2000 Beta 3 上安装 Visual Studio 6.0 Service Pack 3
的信息,请参见本文后面的“在 Windows 2000 上安装 Service Pack 3”部分。
ATL 修补程序
下列 ATL 问题已得到修复:
- 190531
(http://support.microsoft.com/kb/190531/
)
在向(ATL 重写的)delete 运算符或
free 函数传递空指针时发生崩溃。 - 191626
(http://support.microsoft.com/kb/191626/
)
CComVariant > 和 <
运算符导致 LNK2001 错误。 - 194180
(http://support.microsoft.com/kb/194180/
)
当在安装了 Visual C++ 6.0
Atl.dll 的计算机上对用 Visual C++ 6.0 版之前的版本所生成的 ATL DLL 或 EXE 取消注册时出现访问冲突。 - 198019
(http://support.microsoft.com/kb/198019/
)
某些 ATL
控件的大小不正确。 - 201318
(http://support.microsoft.com/kb/201318/
)
使用长路径名注册 ATL
服务器失败。 - 217182
(http://support.microsoft.com/kb/217182/
)
使用 DECLARE_REGISTRY()
宏时无法向注册表添加说明。 - 218829
(http://support.microsoft.com/kb/218829/
)
CComEnumImpl<>::Skip() 不能正确处理溢出。 - 222613
(http://support.microsoft.com/kb/222613/
)
使用 Alpha 项目时出现“'m_mov':
未声明的标识符”错误 - 223165
(http://support.microsoft.com/kb/223165/
)
GetIDsOfNames( ) 为命名参数返回
DISP_E_UNKNOWNNAME
编译器/链接器/版本问题
下列版本问题已得到修复:
- 187280
(http://support.microsoft.com/kb/187280/
)
链接器在将资源文件转换为 COFF
格式时使用了错误的 Cvtres.exe 版本,导致应用程序无法使用某些多语言资源。 - 192539
(http://support.microsoft.com/kb/192539/
)
如果友好运算符 <<
在类外部定义,则无法进行编译。 - 194615
(http://support.microsoft.com/kb/194615/
)
项目会删除由其他项目创建的预编译头文件。 - 195376
(http://support.microsoft.com/kb/195376/
)
当使用 /Og 和 /Oa 或 /Og 和
/Ow 进行编译时,可能因忽略某个方向上的缩放而对代码执行不适当的优化。例如:
mov esi,dword ptr [ecx+edx*4]
mov ecx,dword ptr [ecx+edx]
已经过不适当的优化,如下所示:
mov esi,dword ptr [ecx+edx*4]
mov ecx,esi // error, because we were actually trying
// to load from a different address.
- 199736
(http://support.microsoft.com/kb/199736/
)
编译器限制会阻止编译嵌套括号对数超过 58
的代码。通过 SP3,编译器现在最多可支持 256 个嵌套层。 - 205681
(http://support.microsoft.com/kb/205681/
)
如果使用 /Od 编译代码,则当在返回语句中使用
++ 运算符时会产生访问冲突。 - 216181
(http://support.microsoft.com/kb/216181/
)
在某些情况下,使用 /Og
进行编译会生成错误代码,该代码可导致在完全设置堆栈内容之前复制堆栈帧。 - 216720
(http://support.microsoft.com/kb/216720/
)
在通过优化提高速度时,编译器会对布尔类型上的按位“或”运算生成错误代码,导致编译后的应用程序出现崩溃、数据损坏或其他异常行为。 - 216727
(http://support.microsoft.com/kb/216727/
)
编译器对使用浮点值初始化的 const int
变量会生成错误的初始化。 - 216715
(http://support.microsoft.com/kb/216715/
)
当满足下列所有条件时将生成错误代码或内部编译器错误:
- 三元 (? :) 运算符中冒号左右两侧的内容都属于类类型。
- 右侧内容可通过用户定义的转换运算符转换为左侧内容。
- 左侧不具有接受属于右侧指定类的对象的构造函数。
- 216716
(http://support.microsoft.com/kb/216716/
)
如果使用函数定义的 typedef
从指向函数的指针的 typedef 声明和初始化变量,则编译器有时不创建函数地址的重定位链接地址信息。 - 216718
(http://support.microsoft.com/kb/216718/
)
在某些情况下,使用 /Zi 和 /Yc
进行编译会生成 C1001 内部编译器错误。 - 216722
(http://support.microsoft.com/kb/216722/
)
将函数指针用作模板类参数并调用该函数会生成编译器错误,如下面的示例所示:
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);
}
- 216731
(http://support.microsoft.com/kb/216731/
)
对于显式构造的匿名临时对象,代码无法调用其析构函数。 - 216747
(http://support.microsoft.com/kb/216747/
)
在使用 /Og 和 /G6
优化代码时,Visual C++ 有时会在引用内存的指令中移动 inc、add、sub 或 lea 指令。在某些情况下,Visual C++ 6.0
不会正确更新置换,如下面的示例所示:
inc eax
mov [eax + 2*eax + 3]
- 216854
(http://support.microsoft.com/kb/216854/
)
项目在删除 /useenv
选项后继续使用环境设置。替代方法要求删除注册表设置。安装了 SP3 后,IDE 仅在设置了 /useenv 时才会使用环境设置。 - 217033
(http://support.microsoft.com/kb/217033/
)
在极少的情况下,使用 /Og 编译的代码会将
Double 数据的一半保存到内存中,然后从它加载 FP 注册。由于 FP 值的一半是随机数据,因而会产生不正确的值。 - 195377
(http://support.microsoft.com/kb/195377/
)
当使用 /map 生成 VxD
时,链接器会丢失映射文件的文件句柄,从而导致链接器工具错误(“LNK1104: Cannot open file file.map”)。 - 217171
(http://support.microsoft.com/kb/217171/
)
在使用 /ZI(“编辑并继续”)编译器选项生成
VxD 或驱动程序时,链接器会生成无效映像。/ZI 会向映像中插入特殊信息,这将阻止加载 VxD 或驱动程序。现在,链接器已更改为在指定 /VXD 时忽略
/ZI 选项(这意味着,在调试 VxD 或驱动程序时不能使用“编辑并继续”)。如果链接器找到已知对 VxD
无效的部分,它还会向用户发出警告。 - 217168
(http://support.microsoft.com/kb/217168/
)
链接器允许用户使用大于指定保留大小的指定堆栈或堆提交大小生成映像。此无效状态会阻止调试程序等类似工具加载映像。现在,如果指定的堆栈或堆提交大小大于保留大小,链接器就会发出错误消息。 - 217164
(http://support.microsoft.com/kb/217164/
)
在将内部函数的结果传递给具有 int&
参数的函数时,将生成错误代码。 - 217755
(http://support.microsoft.com/kb/217755/
)
#import 会忽略类型库的
TKIND_MODULE 成员。 - 218611
(http://support.microsoft.com/kb/218611/
)
在某些情况下,当在循环内部比较循环归纳变量时,如果比较中的变量类型不同于循环中其余部分的类型,则使用 /Og 和 /Ob1
进行编译会生成不正确的比较。 - 218613
(http://support.microsoft.com/kb/218613/
)
在某些情况下,当在 Alpha
平台上使用延迟加载导入时,链接器会生成无效的链接地址信息并自动生成错误映像。 - Visual C++ 6.0 不支持终端服务器识别应用程序。为此,SP3 版本增加了新的链接器选项
/tsaware[:no]。/tsaware 选项会导致链接器在终端服务器识别应用程序的映像可选头文件中设置适当的位。
CRT 问题
下列 CRT 问题在 Service Pack 3 中已得到修复:
下列 CRT 问题已在早期版本的 Service Pack 中得到修复并包括在 Service Pack 3
中。
Service Pack 1:
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 堆。
下面两篇知识库文章中介绍的堆兼容性问题已得到修复:
更新的数据访问对象 (DAO)
Visual Studio 6.0 Service Pack 3 中包括 DAO 3.6 的更新版本。DAO 3.6 随
Office 2000 一起提供,此 Service Pack 中提供的文件可使您开发更新的版本。DAO 3.6 可随 DAO 3.5x
一起安装。本文档后面提到的 SDK 源文件不可再发行。
建议仅将需要访问 Office 2000 格式数据库的现有 DAO 应用程序升级到
DAO 3.6。对于新项目,强烈建议使用 ActiveX 数据对象 (ADO),它是 DAO 的后继者,是 Microsoft
首选的数据访问编程模型(构建于新的 OLE DB 技术之上)。
DAO 3.6 中的更改
- 增加了对 Unicode 的支持。
- 增加了对 Unicode 的支持。增加了对 Jet 4.0 的支持。
- 不再支持 RepairDatabase。这是为了与 Jet 4.0 匹配。如果需要此功能,请使用
CompactDatabase,它也可以执行修复功能。
Visual Studio Service Pack 3 中附带的 DAO 3.6 文件
此 Service Pack 中包括下列文件:
要在 Visual C++ 中使用或生成具有 DAO 的项目,请生成 LIB 文件(参见下面的说明)。这些文件位于
Visual Studio Service Pack 3 CD 的 \support 目录中,如果您从 Internet 上下载了该 Service
Pack,则可以在提取文件夹中找到它们:
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。
调试程序问题
下列调试程序问题已得到修复:
- 198839
(http://support.microsoft.com/kb/198839/
)
如果多次遇到断点,则可能在多处理器计算机上发生异步中断故障。 - 217369
(http://support.microsoft.com/kb/217369/
)
如果在远程调试程序时频繁调用
OutputDebugString,则调试程序将崩溃、挂起或发出资源不足的警告。 - 217437
(http://support.microsoft.com/kb/217437/
)
如果调试信息中的两个符号具有相同的哈希值,则调试程序将崩溃。 - 218612
(http://support.microsoft.com/kb/218612/
)
远程调试在 Alpha
平台上无效。
IDE 问题
下列集成开发环境 (IDE) 问题已得到修复:
- 193478
(http://support.microsoft.com/kb/193478/
)
如果运行的宏导致重复异常,则 IDE
将崩溃。 - 193476
(http://support.microsoft.com/kb/193476/
)
当尝试显示有关 _asm 或 __asm
的弹出式数据提示时,IDE 将冻结或退出。 - 194843
(http://support.microsoft.com/kb/194843/
)
当尝试从 IDE 访问 CreateObject
或 GetObject 函数时,VBScript 显示以下错误消息: Line #: ActiveX
component can't create object 'CreateObject'
虽然显示该错误消息,但对这些函数的调用有时会成功。
- 195375
(http://support.microsoft.com/kb/195375/
)
当使用 Visual SourceSafe
时,重绘 ClassView 窗格的速度很慢。 - 216849
(http://support.microsoft.com/kb/216849/
)
当对实用工具项目执行“另存为”操作时,IDE
将崩溃。 - 216869
(http://support.microsoft.com/kb/216869/
)
如果用户尝试在函数参数 DataTip
可见时标记和删除行,IDE 将崩溃。 - 216868
(http://support.microsoft.com/kb/216868/
)
在某些情况下,如果用户在源编辑器中创建了派生类,IDE 将退出而不显示警告。 - 216853
(http://support.microsoft.com/kb/216853/
)
如果对不存在的文件重复执行
Documents.Open 宏,IDE 将崩溃。 - 216851
(http://support.microsoft.com/kb/216851/
)
如果在生成文件项目中使用 Developer
Studio 对象方法 AddConfiguration,则对 AddConfiguration 的调用将失败。
Microsoft 基础类 (MFC) 问题
在 Windows 2000 Beta 3 上安装 Service Pack 3
有关在 Windows 2000 Beta 3 上安装 Visual Studio 6.0 Service Pack 3
的信息,请参见“在 Windows 2000 上安装 Service Pack 3”。
在 MFC 6.0 中使用 Access 2000 数据库。
MFC 6.0 能够使用 Microsoft Access 2000 数据库。要在应用程序中使用此支持,必须通过以下方法启用
DAO 3.6:
- 在进行任何与数据库相关的调用之前,先链接 MFC 的 DLL 版本并向 InitInstance 添加以下行:
AfxGetModuleState()->m_dwVersion = 0x0601
- 或 - - 重新编译 MFC 静态库并将 _MFC_VER 设置为 0x0601。
MFC 修补程序
下列 MFC 问题已得到修复:
- 190518
(http://support.microsoft.com/kb/190518/
)
MFC AppWizard
会将不正确的映像与未使用文档/视图结构的 SDI 应用程序的工具栏按钮关联起来。 - 193101
(http://support.microsoft.com/kb/193101/
)
在多线程静态链接的 MFC
应用程序中不初始化套接字线程状态。如果应用程序中有一个线程调用了
AfxSocketInit,则从其他线程调用同一函数将无法设置该线程的套接字线程状态。 - 194300
(http://support.microsoft.com/kb/194300/
)
当在 MFC 常规 DLL
中创建对话框时将发生断言。 - 197448
(http://support.microsoft.com/kb/197448/
)
对于绑定到包含 Double 数据的 MFC
ODBC 字段的字符串,如果在其上调用 CString::Format,有时会导致重新分配内存,进而使参数和输出列的绑定出现不一致。 - 216850
(http://support.microsoft.com/kb/216850/
)
如果 MFC AppWizard
应用程序不具有文档/视图结构、初始状态栏或停靠工具栏,则当执行断言语句时,此类应用程序将崩溃。 - 217208
(http://support.microsoft.com/kb/217208/
)
CMenu::GetMenuString
不能正确处理超过 256 字节的字符串,从而可能导致字符串损坏。 - 217201
(http://support.microsoft.com/kb/217201/
)
如果 TOOLTIPTEXT.lpszText
是字符串资源的 ID 或未经使用,CControlBar::WindowProc 中的错误会导致访问冲突。在将字符串资源的标识符复制到 lpszText
结构成员,并将包含该资源的实例的句柄复制到 hinst 结构成员时,将发生此问题。 - 217216
(http://support.microsoft.com/kb/217216/
)
CDaoDatabase::CreateRelation 在引用计数之外调用 Release,进而导致断言。 - 225140
(http://support.microsoft.com/kb/225140/
)
MFC 应用程序可能因
COleDateTime::operator= 在 1999 年后无法正确解释日期而遇到问题。此问题已通过更改 MFC40.DLL 和 MFC40u.DLL
得到修复。使用这些 DLL 的 MFC 应用程序可以直接使用修补程序,无需进行重新编译。只有使用 Visual C++ 4.0 或 4.1
构建的应用程序才需要此更新的 DLL。
Service Pack 1
下列 MFC 问题已在 Service Pack 1 中得到修复并包括在 Service Pack 3 中:
- 192942
(http://support.microsoft.com/kb/192942/
)
随移动调整自身大小的 ActiveX
控件会导致堆栈溢出。 - 193099
(http://support.microsoft.com/kb/193099/
)
当对话框创建失败时,CDialog::Create 不返回 FALSE。 - 193102
(http://support.microsoft.com/kb/193102/
)
在调试版本中,某些涉及嵌套激活的自动传送过程会引发不适当的断言。 - 193100
(http://support.microsoft.com/kb/193100/
)
在 MFC 的 UNICODE 发行版中对
ANSI 字符串执行反序列化会导致访问冲突。 - 193272
(http://support.microsoft.com/kb/193272/
)
使用 Visual C++ 6.0 创建的
MFC DLL 不调用 CPrintDlg::OnInitDialog,从而导致依赖此初始化例程的程序失败。
多语言问题
下列多语言和语言共存问题已得到修复:
- Devshl.dll 中的问题会阻止 Microsoft? Visual Fortran
用户执行命令行生成。
- 当应用程序调用从一种编程语言转为另一种编程语言时,如果字符串表损坏,将导致无法在资源中查找用于其他语言的字符串。
OLE DB 使用者问题
下列 OLE DB 使用者问题已得到修复:
- 191738
(http://support.microsoft.com/kb/191738/
)
当使用 CArrayRowset
时,如果在缓冲区中存储多于一页 (4 KB) 的数据或尝试获取不存在的记录,则会导致无限循环。安装了 SP3 后,不仅可以正常存储大于 4 KB
的数据,而且当尝试获取不存在的记录时,将导致出现用户可以捕获的访问冲突(预期效果)。 - 217218
(http://support.microsoft.com/kb/217218/
)
OLE DB 模板使用 DBFILETIME
而不是 FILETIME。 - 218929
(http://support.microsoft.com/kb/218929/
)
UUID.LIB 包含 IViewFilter
接口的错误定义。IViewFilter 是 OLE DB 模板不使用的 OLE DB 1.5 接口。但是,当 OLE DB
使用者尝试直接使用该接口时,此定义将导致问题。 - 223180
(http://support.microsoft.com/kb/223180/
)
FIX:Jet 提供程序在
OpenDataSource 期间引发 DB_E_ERRORSOCCURRED。
OLE DB 提供程序问题
下列 OLE DB 提供程序问题已得到修复:
- 201387
(http://support.microsoft.com/kb/201387/
)
CTABLESRow 不具有
TABLE_PROPID 列。现在已添加该列,以便 OLE DB 模板提供程序在使用者请求此列时不会失败。 - 217181
(http://support.microsoft.com/kb/217181/
)
PROVIDER_COLUMN_ENTRY 宏将
DBID.eKind 值设置为零 (DBKIND_GUID_NAME) 而不是 2 (DBKIND_NAME)。当在 SQL Server 7.0 中使用
OLE DB 模板提供程序时,此设置可能导致问题。 - 217183
(http://support.microsoft.com/kb/217183/
)
当 cPropertyIDSets
参数为零时,IDBPropertiesImpl::GetPropertyInfo
不返回正确的值。这可能导致未定义的使用者行为,包括异常的错误消息、崩溃或锁定。 - 217185
(http://support.microsoft.com/kb/217185/
)
即使 Length
的数据为空,IRowsetImpl::GetData 也返回非零值。现在,如果 Length 的数据为空,GetData
可以正确返回零。 - 217186
(http://support.microsoft.com/kb/217186/
)
根据不实现 theIDBInfo 接口的 OLE
DB 提供程序的要求,OLE DB 模板并不将所有架构行集的 CATALOG 和 SCHEMA 列都设置为空。 - 217187
(http://support.microsoft.com/kb/217187/
)
InternalCreateSchemaRowset 中的故障会导致访问冲突。 - 217188
(http://support.microsoft.com/kb/217188/
)
为了更好地遵从 OLE DB
规范,CCOLUMNSRow 提供程序列映射中的列名已通过添加下划线进行了更改。例如,TableCatalog 已变为 TABLE_CATALOG。这可防止
OLE DB 模板提供程序在使用者请求某个此类列时失败。从提供程序查询有关初始化属性的信息(有关用户
ID、密码等内容的信息)的使用者将收到不正确的信息,进而可能导致崩溃或挂起。
Visual SourceSafe 集成问题
下列 Visual SourceSafe 集成问题已得到修复:
已知问题
本部分介绍 Visual C++ 6.0 SP3 版本的当前问题。有关已修复的问题,请参见前面的部分。
OLE DB/ODBC 问题
- 当指定 ODBC 连接时,MFC EXE Appwizard 无法在 Excel
电子表格中显示工作表。
当指定 Excel ODBC 连接时,MFC EXE Appwizard
将显示一个空列表并让用户选择表。要解决此问题,请对 Excel 电子表格改用 ODBC 驱动程序的 OLE DB 提供程序连接。
- MFC EXE Appwizard 生成的应用程序无法通过 ODBC 驱动程序的 OLE DB 提供程序打开
Access 表中的记录集。
当 MFC EXE Appwizard 生成的应用程序通过 ODBC 驱动程序的 OLE DB
提供程序连接到 Access 表时,如果执行该应用程序,它将显示“Recordset failed to open”消息。此问题目前没有替代方法。它将在
Microsoft Data Access Components (MDAC) 的未来版本中得到修复。
- 用于 SQL Server 的 Microsoft OLE DB 提供程序无法打开不具有主键的表。
用于 SQL Server 的 Microsoft OLE DB 提供程序无法打开未定义主键的表。要解决此问题,请使用用于 ODBC 驱动程序和 SQL
Server ODBC 驱动程序的 Microsoft OLE DB 提供程序访问该表。
在 Visual Studio SP3 中使用 MDAC 2.1
安装程序不安装 MDAC 2.1 库和头文件。Visual Studio Service Pack 3 已就 MDAC 2.0
头文件和库对 MDAC 2.1 二进制文件进行了测试。如果需要使用特定的 MDAC 2.1
接口,需要手动安装这些头文件和库。有关安装这些库和头文件的信息,请参见“安装 Microsoft Data Access Components 2.1”。
Windows 2000 问题
- 调试程序在 Windows 2000 Beta 3 上可能崩溃。
一个最新问题可能会阻止在
Windows 2000 Beta 3 上对 Visual C++ 应用程序进行调试。但您可以编译应用程序。
- 调试程序在 Windows 2000 上可能不会正确报告异常。
在 Windows 2000
的某些版本中,调试程序不会正确报告某些类型的异常。例如,调试程序有时允许将异常传递给 CRT,在此情况下将报告中止消息。此 Windows 2000
问题预计将在未来版本中得到修复。
- Visual Studio Service Pack 3 中不包括用于 Internet Explorer 5 和
Windows 2000 的 SDK 头文件和库。
Visual Studio Service Pack 3 不包括用于 Internet
Explorer 5 或 Windows 2000 的最新 SDK 头文件和库。用于 Internet Explorer 5 的更新头文件和库可以从
Microsoft 网站和 Internet 示例下载区域获得。有关未来的 Windows 2000 SDK 更新,请参见 MSDN SDK 网页。
- 当使用 OLE DB ODBC 提供程序和 Access 时,MFC AppWizard
会生成错误的列映射
如果使用 OLE DB 生成 MFC 数据库应用程序,并对 Access 数据库使用 OLE DB ODBC
提供程序,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()
should be:
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()
有关 Visual Studio 6.0 SP3 自述文件的更多信息,请参见下面的 Microsoft
知识库文章:
230722
(http://support.microsoft.com/kb/230722/
)
INFO:Visual Studio 6.0
SP3 自述文件:第 1 部分 - 概述和安装
230724
(http://support.microsoft.com/kb/230724/
)
INFO:Visual Studio 6.0 SP3 自述文件:第 2 部分 - Visual Studio
230726
(http://support.microsoft.com/kb/230726/
)
INFO:Visual Studio 6.0 SP3 自述文件:第 3 部分 -
Visual Basic
230729
(http://support.microsoft.com/kb/230729/
)
INFO:Visual Studio 6.0
SP3 自述文件:第 5 部分 - Visual FoxPro
230730
(http://support.microsoft.com/kb/230730/
)
INFO:Visual Studio 6.0 SP3 自述文件:第 6 部分 -
Visual InterDev
230731
(http://support.microsoft.com/kb/230731/
)
INFO:Visual Studio 6.0
SP3 自述文件:第 7 部分 - Visual J++
230732
(http://support.microsoft.com/kb/230732/
)
INFO:Visual Studio 6.0 SP3 自述文件:第 8 部分 - SourceSafe
230733
(http://support.microsoft.com/kb/230733/
)
INFO:Visual Studio 6.0 SP3 自述文件:第 9 部分 - 文件版本
文章编号: 230727 - 最后修改: 2006年12月8日 - 修订: 1.1
这篇文章中的信息适用于:
- Microsoft Visual Studio 6.0 Service Pack 3
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。
不再更新的 KB 内容免责声明本文介绍那些 Microsoft 不再提供支持的产品。因此本文按“原样”提供,并且不再更新。