Menu

MfPack 3.1.5 - Major changes

FactoryX

Major changes in MfPack version 3.1.5 Carmel.

Unit naming convention

This version uses a more strict and safer unit naming convention,
where all units are catagorised for use in the rtl unit scope names.

For example:

  • All mediafoundation units are named WinApi.MediafoundationApi.unitname.pas
  • All Core Audio units are named WinApi.CoreAudioApi.unitname.pas
  • All DirectX related units are named WinApi.DirectX.unitname.pas
  • All ActiveX related units are named WinApi.ActiveX.unitname.pas
  • All common WinApi related units are named WinApi.unitname.pas
  • All Windows Media related units are named WinApi.WinMM.unitname.pas
  • Etc.

The main reason for these conventions is, to prevent namingclashes when Embarcadero/Idera did not update the rtl to the latest Windows SDK and we did ;-).

For example:
Even Delphi "Sydney" has an incomplete ActiveX.pas in the rtl.
This unit is not maintenanced for years, while Microsoft updated a lot of the integrated headers (API).
So, if a part of the Delphi included ActiveX unit has been updated, the original unit name prefixed with "WinApi.ActiveX" will be used, to make clear this is an update of the rtl ActiveX unit.

Existing and new units

New units in MfPack, updated to the latest SDK version are suffixed with the year of update to prevent naming clashes.
For example:
Rtl/Win WinApi.StructuredQueryCondition.pas newest update is called WinApi.StructuredQueryCondition_2020.pas etc.

Added hresult/errorcode lookup tools.

Restructured package

Added "Packages", "Samples" and "Sandbox" to the map-structure.

Notes

  • Microsoft is deprecating ActiveX, to be more precise: The name ActiveX.. (What's in a name?)
  • Microsoft is still maintaining the headerfiles that MediaFoundation and other API's need, from ActiveX.