Added UpsideDownDIB function to detect if a DIB is
top-down or bottom-up
Fixed Transparency issue with Vista and GIF89
Fixed problem with thumbnail extraction
Fixed system String memory leaks that have been in
TNamespace for years.
Added Stream Copying routines to MPCommonObjects.pas
Added helper for ProgressTheme in MPCommonObjects.pas
Added FixFormFont to MPCommonUtilities.pas
Added FillGradient to MPCommonUtilities.pas
Fixed bugs in MPDataObject.pas
Added IsSpecialVariable and
SpecialVariableReplacePath to MPShellUtilities.pas to allow using
variables such as %apppath% and %desktop% in the combobox edit box
Fixed bug in Graphics Blending routine.
Fixed problems with image extractions
More fixes for thumbnails
Fixed bug where Threaded Shell Execute was not
waiting for the DDE exchange to occur before returning. Caused
executing of file objects to not finish and fail.
Added a CreateProcess wrapper to simplify calling
the call.
Fixed bug in ShortenTextW
Added dynamically linked functions for NTFS Volume access
Added function to mimic the C macro for CTL_CODE
Fixed bug in the TNamespace.ShowContextMenu method
Fixed bug(s) in the TWideHDrop.AssignFilesW method
Add SHGetKnownFolderPath definition for Vista
Added the FOLDERID_ and KF_FLAG_ constants for SHGetKnownFolderPath
Added new global TNamespace: ProgramFilesFolder
Fixed bug in MPThreadManager.pas that could cause
the application to not shut down
Added implementation of FindFirstFileEx
Cached the Browsable property in TNamespace
Added ShellExecuteEx for ANSI and UNICODE
Added Alex's RegisterNSE and UnregisterNSE changed
to handle Unicode or ANSI
Added ExecShellEx for a wrapper for ShellExecuteEx
Added ANSI/Unicode function for
ExpandEnviromentString called WideExpandEnviromentString.
Fixed bug in the new ExecShellEx function
Fixed incorrect testing of column counts.
Causes AV's in some cases
Added functionality to fix Threaded Details in VirtualShellTools
Fixed app closing issue, when pumping messages you
must call PostQuitMessage when WM_QUIT is encountered or the app
won't close.
Fixed problem with showing column details beyond
column 5.
Changed TTntStringList to TWideStrings in the
HDrop DataObject wrapper
Added TCommonHDrop.FileNames(FileList:
TWideStrings); overload method if TNT Unicode Controls is available.
Added a few "const" modifiers to passed
parameters to pass by reference instead of putting the entire large
record on the stack
Made use of WideMessageBox consistent throughout package
Some refactoring of CommonSupports function, saves
a reference increment/decrement
Added FindBrowseableRootPIDL and
IsParentBrowseable functions to the MPShellUtilities.pas file.
Fixed bug that would cause calling the 'pastelink'
context menu verb from functioning
Fixed bug in the new FindBrowseableRootPIDL method
Moved Shell Menus from VSTools to Common Library
Finally found bug with EasyListview/D2007 and Vista
03.18.07 Version1.6.0
Support for Delphi 2007 for Win32
Added parameter to EnumerateFolderEx to help
with freezing of VT drawing if Explorer shows a dialog.
Added Utility function for IsWinVista,
WideIncrementalSearch, WidePathMatchSpec, and
WidePathMatchSpecExists, WideGetTempDir
Added Utility function DataObjectContainsPIDL to
test if a particular PIDL is contained in the DataObject
Added definitions for XButton support
Fixed race issue with the CommonThread. If
you had AV's in the IDE (or application) on shut down this will fix it.
Fixed bug in WideStrLCopy
Added ShadowBlendBits to support the Windows Vista
shadowed thumbnails for folders.
Added support for MP_ThreadedShellExecute to
launch programs in a separate Thread
Fixed bug that would cause an AV in TNamespace.InternalSubItems.
Fixed bug that would keep application from
shutting down. Thread would not shut down.
Fixed bug in File size formating
Fixed TNamespace.GetSizeOfFileKB, it showed
"KB" instead of "1KB" for small files
Fixed bug with AddContextMenuItem
Fixed possible recursion problem if a ReparsePoint
was encountered
Added FindNextFileW_MP define
Fixed published property in DataObject class
Fixed upsidedown gif file extraction of thumbnails
Added WideStripLeadingBackslash function
Fixed bug with DirExistsVET
01.14.2007 Release of
Common Library 1.5.5
Added dynamically loaded import to GetCurrentDirW for
applications to use.
Fixed wrong value for FILE_ATTRIBUTE_REPARSE_POINT
Added TNamespace.ReparsePoint and
TNamespace.SparseFile the correspond to FILE_ATTRIBUTE_REPARSE_POINT
and FILE_ATTRIBUTE_SPARSE_FILE
CHANGE: Changed VST_UseModalDialogs to MP_UseModalDialogs.
Added MP_UseSpecialReparsePointOverlay global
option in MPShellUtilities.pas to show an overlay on ReparsePoints.
Added a check in the TCommonThread object to check
if OLEInitialize succeeded so OLEUninitialize won't be called unless
it was property initialized. This can cause the lockups on shut down.
Fixed bug that would create new threads during
shut down.
Added a Delphi friendly implemenation of
SHBrowseForFolder to MPShellUtilities.pas
Added Dynamically linked exports of PathMatchMaskA
and PathMatchMaskW
Added Disk Size and FreeSpace utility functions to MPShellUtilities.pas
IMPORTANT: Some will hate it some will love it but
I found a way to move VirtualShellUtilities into the common library
so TNamespace can be used without the Shell Components. It is
Unicode enabled by using TntControls and the {$DEFINE TNTSUPPORT}
like most other Mustangpeak libraries. CommonLibrary,
EasyListview and VSTools 2.0 all must be updated and rebuild, along
with VirtualShellUtilities changed to MPShellUtilities in your
projects. Also a number of the strings that went with
VirtualShellUtilities in VirtualResources.pas are now found in
MPResources.pas so this unit may need to be added to your projects as well.
Added a few more utility functions in MPCommonUtilities.pas
Fixed bug in DataObjectSupportsShell function, did
not include the FileDescriptor formats to work with Outlook, Notes, etc.
Added a few missing Windows Shell Defines to MPShellTypes.pas
Changed TEasyThread so it could be used without
the TEasyThreaManager
Hopefully fixed bug with Threads hanging.
Added a new Callback type global thread. Allows for a method in an
object to be called back when the thread task finishes.
Fixed bug at designtime for the common window
class where the window handle was accessed to early causing "Can
not Draw to Canvas" errors
Fixed so the designtime package will work with D5
and lower