3.6. MFC 2.5

Microsoft Visual C++/Microsoft Foundation Classes


3.6. MFC 2.5

MFC 2.5 shipped with Visual C++ 1.5. It introduced the OLE 2 and ODBC classes. It was the last 'official' 16-bit release. Released in 12/93

MFC 2.5 introduced these classes:

General: [OLE and DB related]

  • CFieldExchange
  • COleDataObject
  • COleDispatchDriver
  • CRectTracker

Exceptions: [OLE and DB exceptions]

  • COleException
  • COleDispatchException
  • CDBException

Files: [New OLE File support]

  • CFile
  • COleStreamfile

Dialogs: [New OLE Dialogs]

  • CDialog
  • COleDialog
  • COleInsertdialog
  • COleChangeIconDialog
  • COlePasteSpecialDialog
  • COleConvertDialog
  • COleBusyDialog
  • COleLinksDialog
  • COleUpdateDialog

Windows Support: [Some OLE additions]

  • CFrameWnd
  • COleIPFrameWnd
  • CControlBar
  • COleResizeBar

Document Architecture: [Significant classes added for OLE here.]

  • CCmdTarget
  • COleObjectFactory
  • COleTemplateServer
  • COleDataSource
  • COleDropSource
  • COleDropTarget
  • COleMessageFilter
  • CDocument
  • COleDocument
  • COleLinkingDoc
  • COleServerDoc
  • CDocItem
  • COleClientItem
  • COleServerItem

Views: [New view for DB support]

  • CView
  • CScrollView
  • CFormView
  • CRecordView

ODBC/Database Classes:

  • CDatabase
  • CRecordSet
  • CLongBinary

3.6.1. MFC 2.51

A point release to 2.5 (16-bit) that was a bug fix release. Shipped with MSVC 2.0 in 9/94 with MFC 3.0 (32-bit).

3.6.2. MFC 2.52

A point release to 2.5 (16-bit) that added some of the MFC 3.0 features such as property sheets, Winsock and MAPI support. Shipped with MSVC 2.1 in 1/95 with MFC 3.1 (32-bit).

NOTE: This is only available via the MSVC Subscription.

Classes added in 2.52:

  • CSocket
  • CAsyncSocket
  • CSocketFile
  • CPropertyPage
  • CPropertySheet

MAPI:  [Note that MAPI support was added to CDocument, no new classes]

  • CDocument::OnFileSendMail
  • CDocument::OnUpdateFileSendMail
  • COleDocument::OnFileSendMail

3.6.3. MFC 2.52b

[Excerpt from the 2.52b release notes]

Visual C++ 1.52b includes the industry-standard Microsoft Foundation Class Library (MFC) version 2.52b. Besides classes for OLE and database, this version includes classes for OLE control development.

Bugs Fixed in Visual C++ 1.52b

Visual C++ 1.52b fixes a number of bugs from Visual C++ 1.5. Of particular interest to most developers are the following bug fixes:

MFC 2.52b

Error L2025 occurred on CWnd::DoDataExchange. This bug has been corrected. See Microsoft Knowledge Base article Q120152 for more information.

CArchive::ReadObject sometimes caused an assertion in a CPtrArray object because CPtrArray can hold a maximum object size of 16K in a large memory model application. CArchive did not take the memory model into account; since CArchive enforced a 32K limit, objects of 32K could be written but an assertion was generated if CArchive read in more than 16K. This bug has been corrected.

There was a memory leak in 16-bit AUX_DATA.

The three pens used in the class CPropertySheet were leaking. See Microsoft Knowledge Base article Q128604 for more information.

The CArchive buffer pointer could wrap around the end of a segment unintentionally. This bug has been corrected.

If AfxSockInit failed, applications sometimes produced a General Protection Fault. This bug has been corrected. See Microsoft Knowledge Base article Q130653 for more information.

The MAPISendMail dialog did not stay modal. This bug has been corrected.

Source file DLGPROP.CPP had non-near data. This could prevent applications from being able to run multi-instance. This bug has been corrected.

3.6.4. MFC 2.52c

This bug-fix release shipped with Visual C++ 4.0 on a separate CD-ROM.

%%TODO check release notes for details - is anyone still using this stuff?