diff --git a/Lib/DXE2/UnitSwitcherDXE2.bpl b/Lib/DXE2/UnitSwitcherDXE2.bpl
new file mode 100644
index 0000000..439b965
Binary files /dev/null and b/Lib/DXE2/UnitSwitcherDXE2.bpl differ
diff --git a/Packages/DXE2/UnitSwitcher.bdsproj b/Packages/DXE2/UnitSwitcher.bdsproj
new file mode 100644
index 0000000..6039fbf
--- /dev/null
+++ b/Packages/DXE2/UnitSwitcher.bdsproj
@@ -0,0 +1,175 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 7.0
+
+
+ 8
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ True
+ True
+ WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+
+ False
+
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ False
+ False
+ False
+ True
+ True
+ True
+ True
+ True
+ True
+
+
+
+ 0
+ 0
+ False
+ 1
+ False
+ False
+ False
+ 16384
+ 1048576
+ 4194304
+ UnitSwitcher
+
+
+
+ ..\..\Lib\D2006
+ ..\..\Lib\D2006
+
+
+
+
+
+ False
+
+
+
+
+
+ False
+
+
+ True
+ False
+
+
+ True
+ False
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ False
+ False
+ 1043
+ 1252
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+ 1.0.0.0
+
+
+
+ UnitSwitcher
+
+
+
+
+
diff --git a/Packages/DXE2/UnitSwitcher.dpk b/Packages/DXE2/UnitSwitcher.dpk
new file mode 100644
index 0000000..d663c5d
--- /dev/null
+++ b/Packages/DXE2/UnitSwitcher.dpk
@@ -0,0 +1,66 @@
+package UnitSwitcher;
+
+{$R *.res}
+{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$ENDIF IMPLICITBUILDING}
+{$DESCRIPTION 'UnitSwitcher'}
+{$LIBSUFFIX 'DXE2'}
+{$DESIGNONLY}
+{$IMPLICITBUILD OFF}
+
+requires
+ rtl,
+ designide,
+ vcl,
+ xmlrtl,
+ vclactnband,
+ vclx;
+
+contains
+ UnSwClient in '..\..\Source\UnSwClient.pas',
+ UnSwObjects in '..\..\Source\UnSwObjects.pas',
+ UnSwDialog in '..\..\Source\UnSwDialog.pas' {frmUnSwDialog},
+ UnSwFilters in '..\..\Source\UnSwFilters.pas',
+ UnSwConfiguration in '..\..\Source\UnSwConfiguration.pas' {frmUnSwConfiguration},
+ UnSwSettings in '..\..\Source\UnSwSettings.pas',
+ UnSwShortcuts in '..\..\Source\UnSwShortcuts.pas' {frmUnSwShortcuts},
+ CmpSwClient in '..\..\Source\CmpSwClient.pas',
+ BaseSwClient in '..\..\Source\BaseSwClient.pas',
+ BaseSwDialog in '..\..\Source\BaseSwDialog.pas' {frmBaseSwDialog},
+ BaseSwFilters in '..\..\Source\BaseSwFilters.pas',
+ BaseSwObjects in '..\..\Source\BaseSwObjects.pas',
+ UnSwReg in '..\..\Source\UnSwReg.pas',
+ CmpSwDialog in '..\..\Source\CmpSwDialog.pas' {frmCmpSwDialog},
+ CmpSwObjects in '..\..\Source\CmpSwObjects.pas',
+ CmpSwFilters in '..\..\Source\CmpSwFilters.pas',
+ CmpSwSettings in '..\..\Source\CmpSwSettings.pas',
+ BaseSwSettings in '..\..\Source\BaseSwSettings.pas',
+ CmpSwConfiguration in '..\..\Source\CmpSwConfiguration.pas' {frmCmpSwConfiguration},
+ CmpSwFilterConfiguration in '..\..\Source\CmpSwFilterConfiguration.pas' {frmCmpSwFilterConfiguration},
+ ProjSwClient in '..\..\Source\ProjSwClient.pas',
+ ProjSwDialog in '..\..\Source\ProjSwDialog.pas' {frmProjSwDialog},
+ ProjSwObjects in '..\..\Source\ProjSwObjects.pas',
+ ProjSwSettings in '..\..\Source\ProjSwSettings.pas';
+
+end.
diff --git a/Packages/DXE2/UnitSwitcher.dproj b/Packages/DXE2/UnitSwitcher.dproj
new file mode 100644
index 0000000..924792e
--- /dev/null
+++ b/Packages/DXE2/UnitSwitcher.dproj
@@ -0,0 +1,207 @@
+
+
+ {9dce4f2a-aaf1-4f8e-aca7-c36afc829e47}
+ UnitSwitcher.dpk
+ Debug
+ DCC32
+ ..\..\Lib\D2007\UnitSwitcherD2007.bpl
+ VCL
+ 13.4
+ True
+ Debug
+ Win32
+ 1
+ Package
+
+
+ true
+
+
+ true
+ Base
+ true
+
+
+ true
+ Base
+ true
+
+
+ true
+ Base
+ true
+
+
+ true
+ Cfg_1
+ true
+ true
+
+
+ true
+ Base
+ true
+
+
+ true
+ Cfg_2
+ true
+ true
+
+
+ true
+ true
+ true
+ ..\..\Lib\DXE2
+ UnitSwitcher
+ Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;System.Win;$(DCC_Namespace)
+ 00400000
+ 1043
+ ..\..\Lib\DXE2
+ true
+ CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=
+ DXE2
+ true
+
+
+
+
+ Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)
+ 1033
+
+
+ 7.0
+ False
+ False
+ 0
+ ..\..\Lib\D2006
+ ..\..\Lib\D2006
+ RELEASE;$(DCC_Define)
+
+
+ 1033
+
+
+ 7.0
+ ..\..\Lib\D2007
+ ..\..\Lib\D2007
+
+
+ 1033
+
+
+ Delphi.Personality.12
+ Package
+
+
+
+ False
+ True
+ False
+
+
+ True
+ False
+ 1
+ 0
+ 0
+ 0
+ False
+ False
+ False
+ False
+ False
+ 1043
+ 1252
+
+
+
+
+ 1.0.0.0
+
+
+
+
+
+ 1.0.0.0
+
+
+
+ WPViewPDF 3
+
+
+ UnitSwitcher.dpk
+
+
+
+ False
+ True
+
+
+ 12
+
+
+
+
+ MainSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cfg_2
+ Base
+
+
+ Base
+
+
+ Cfg_1
+ Base
+
+
+
+
diff --git a/Packages/DXE2/UnitSwitcher.res b/Packages/DXE2/UnitSwitcher.res
new file mode 100644
index 0000000..a64cea3
Binary files /dev/null and b/Packages/DXE2/UnitSwitcher.res differ
diff --git a/Source/CmpSwFilters.pas b/Source/CmpSwFilters.pas
index a2df82c..ec82526 100644
--- a/Source/CmpSwFilters.pas
+++ b/Source/CmpSwFilters.pas
@@ -79,7 +79,7 @@ uses
Masks,
SysUtils,
- CmpSwObjects, Dialogs;
+ CmpSwObjects;
const
@@ -160,7 +160,11 @@ begin
Result := False;
for charIndex := Length(AFilter) downto 1 do
+ {$IF CompilerVersion < 23}
if AFilter[charIndex] in MaskChars then
+ {$ELSE}
+ if CharInSet(AFilter[charIndex], MaskChars) then
+ {$IFEND}
begin
Result := True;
Break;