New attempt to fix menu and buttons flicker on Win10, this time by with the help of Delphi Detours library. See https://www.heidisql.com/forum.php?t=19141

This commit is contained in:
Ansgar Becker
2017-11-01 19:38:29 +00:00
parent b5765c9c9e
commit ef13e15de6
50 changed files with 13399 additions and 14 deletions

View File

@ -42,7 +42,8 @@ uses
gnugettext in '..\..\source\gnugettext.pas',
JumpList in '..\..\source\JumpList.pas',
extra_controls in '..\..\source\extra_controls.pas',
change_password in '..\..\source\change_password.pas' {frmPasswordChange};
change_password in '..\..\source\change_password.pas' {frmPasswordChange},
Vcl.FormsFix in '..\..\source\Vcl.FormsFix.pas';
{$R ..\..\res\icon.RES}
{$R ..\..\res\icon-question.RES}

View File

@ -7,8 +7,8 @@
<TargetedPlatforms>3</TargetedPlatforms>
<AppType>Application</AppType>
<FrameworkType>VCL</FrameworkType>
<ProjectVersion>15.1</ProjectVersion>
<Platform Condition="'$(Platform)'==''">Win32</Platform>
<ProjectVersion>15.3</ProjectVersion>
<Platform Condition="'$(Platform)'==''">Win64</Platform>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
<Base>true</Base>
@ -28,6 +28,18 @@
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_1)'=='true') or '$(Cfg_1_Win32)'!=''">
<Cfg_1_Win32>true</Cfg_1_Win32>
<CfgParent>Cfg_1</CfgParent>
<Cfg_1>true</Cfg_1>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Cfg_1)'=='true') or '$(Cfg_1_Win64)'!=''">
<Cfg_1_Win64>true</Cfg_1_Win64>
<CfgParent>Cfg_1</CfgParent>
<Cfg_1>true</Cfg_1>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
<Cfg_2>true</Cfg_2>
<CfgParent>Base</CfgParent>
@ -39,12 +51,18 @@
<Cfg_2>true</Cfg_2>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win64)'!=''">
<Cfg_2_Win64>true</Cfg_2_Win64>
<CfgParent>Cfg_2</CfgParent>
<Cfg_2>true</Cfg_2>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Base)'!=''">
<DCC_SYMBOL_PLATFORM>false</DCC_SYMBOL_PLATFORM>
<DCC_UNIT_PLATFORM>false</DCC_UNIT_PLATFORM>
<DCC_ExeOutput>..\..\out\</DCC_ExeOutput>
<DCC_DcuOutput>..\..\build\$(Platform)</DCC_DcuOutput>
<DCC_UnitSearchPath>..\..\components\synedit\build\$(Platform);..\..\components\virtualtreeview\build\$(Platform);..\..\components\synedit\source;..\..\components\virtualtreeview\source;$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
<DCC_UnitSearchPath>..\..\components\synedit\build\$(Platform);..\..\components\virtualtreeview\build\$(Platform);..\..\components\synedit\source;..\..\components\virtualtreeview\source;..\..\components\detours\Source;..\..\components\detours\build\$(Platform);$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
<Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
<DCC_E>false</DCC_E>
<DCC_K>false</DCC_K>
@ -59,14 +77,11 @@
</PropertyGroup>
<PropertyGroup Condition="'$(Base_Win32)'!=''">
<DCC_Namespace>Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace>
<Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
<VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
<VerInfo_Locale>1033</VerInfo_Locale>
</PropertyGroup>
<PropertyGroup Condition="'$(Base_Win64)'!=''">
<DCC_Namespace>Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace)</DCC_Namespace>
<Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
<VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
</PropertyGroup>
@ -76,13 +91,21 @@
<DCC_DebugInformation>0</DCC_DebugInformation>
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_1_Win32)'!=''">
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
<VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_1_Win64)'!=''">
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
<VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_2)'!=''">
<Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
<DCC_GenerateStackFrames>true</DCC_GenerateStackFrames>
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
<DCC_Optimize>false</DCC_Optimize>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
<Manifest_File>None</Manifest_File>
<DCC_DebugInformation>2</DCC_DebugInformation>
<DCC_MapFile>3</DCC_MapFile>
<DCC_Define>madExcept;$(DCC_Define)</DCC_Define>
@ -90,6 +113,8 @@
<VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_2_Win64)'!=''">
<DCC_LegacyIFEND>true</DCC_LegacyIFEND>
<Manifest_File>None</Manifest_File>
<DCC_DebugInformation>2</DCC_DebugInformation>
<DCC_Define>madExcept;$(DCC_Define)</DCC_Define>
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
@ -198,6 +223,7 @@
<Form>frmPasswordChange</Form>
<FormType>dfm</FormType>
</DCCReference>
<DCCReference Include="..\..\source\Vcl.FormsFix.pas"/>
<BuildConfiguration Include="Debug">
<Key>Cfg_2</Key>
<CfgParent>Base</CfgParent>
@ -269,14 +295,15 @@
<VersionInfoKeys Name="theme"/>
</VersionInfoKeys>
<Excluded_Packages>
<Excluded_Packages Name="$(BDSBIN)\dcloffice2k190.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
<Excluded_Packages Name="$(BDSBIN)\dclofficexp190.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
<Excluded_Packages Name="$(BDSBIN)\dcloffice2k190.bpl">Microsoft Office 2000 Beispiele für gekapselte Komponenten für Automatisierungsserver</Excluded_Packages>
<Excluded_Packages Name="$(BDSBIN)\dclofficexp190.bpl">Microsoft Office XP Beispiele für gekapselte Komponenten für Automation Server</Excluded_Packages>
</Excluded_Packages>
</Delphi.Personality>
<Platforms>
<Platform value="Win32">True</Platform>
<Platform value="Win64">True</Platform>
</Platforms>
<ModelSupport>False</ModelSupport>
</BorlandProject>
<ProjectFileVersion>12</ProjectFileVersion>
</ProjectExtensions>

View File

@ -15,6 +15,9 @@
<Projects Include="..\..\components\synedit\Packages\delphiXE5\SynEditD.dproj">
<Dependencies/>
</Projects>
<Projects Include="..\..\components\detours\packages\DelphiXE5\detours.dproj">
<Dependencies/>
</Projects>
<Projects Include="heidisql.dproj">
<Dependencies/>
</Projects>
@ -62,6 +65,15 @@
<Target Name="SynEditD:Make">
<MSBuild Projects="..\..\components\synedit\Packages\delphiXE5\SynEditD.dproj" Targets="Make"/>
</Target>
<Target Name="detours">
<MSBuild Projects="..\..\components\detours\packages\DelphiXE5\detours.dproj"/>
</Target>
<Target Name="detours:Clean">
<MSBuild Projects="..\..\components\detours\packages\DelphiXE5\detours.dproj" Targets="Clean"/>
</Target>
<Target Name="detours:Make">
<MSBuild Projects="..\..\components\detours\packages\DelphiXE5\detours.dproj" Targets="Make"/>
</Target>
<Target Name="heidisql">
<MSBuild Projects="heidisql.dproj"/>
</Target>
@ -72,13 +84,13 @@
<MSBuild Projects="heidisql.dproj" Targets="Make"/>
</Target>
<Target Name="Build">
<CallTarget Targets="VirtualTreesR;VirtualTreesD;SynEditR;SynEditD;heidisql"/>
<CallTarget Targets="VirtualTreesR;VirtualTreesD;SynEditR;SynEditD;detours;heidisql"/>
</Target>
<Target Name="Clean">
<CallTarget Targets="VirtualTreesR:Clean;VirtualTreesD:Clean;SynEditR:Clean;SynEditD:Clean;heidisql:Clean"/>
<CallTarget Targets="VirtualTreesR:Clean;VirtualTreesD:Clean;SynEditR:Clean;SynEditD:Clean;detours:Clean;heidisql:Clean"/>
</Target>
<Target Name="Make">
<CallTarget Targets="VirtualTreesR:Make;VirtualTreesD:Make;SynEditR:Make;SynEditD:Make;heidisql:Make"/>
<CallTarget Targets="VirtualTreesR:Make;VirtualTreesD:Make;SynEditR:Make;SynEditD:Make;detours:Make;heidisql:Make"/>
</Target>
<Import Project="$(BDS)\Bin\CodeGear.Group.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Group.Targets')"/>
</Project>