浏览代码

Added macOS 64 build modes for several projects. Added screenshots.

lainz 7 年之前
父节点
当前提交
bab242fdb7
共有 32 个文件被更改,包括 1543 次插入715 次删除
  1. 2 0
      .gitignore
  2. 二进制
      docs/img/analogcontrols.png
  3. 二进制
      docs/img/bcbutton.png
  4. 二进制
      docs/img/bcbuttonfocus.png
  5. 二进制
      docs/img/bcimagebutton.png
  6. 二进制
      docs/img/bctoolbar.png
  7. 二进制
      docs/img/bcxbutton.png
  8. 二进制
      docs/img/bgraribbon.png
  9. 二进制
      docs/img/progressbar.png
  10. 102 6
      test/BGRA Ribbon Custom/BGRA Ribbon.lpi
  11. 103 9
      test/svg_viewer/viewer.lpi
  12. 50 22
      test/test_analog_controls/dtanalogdemo.lpi
  13. 52 21
      test/test_bccontrols/test_bcbutton/bcsample.lpi
  14. 105 6
      test/test_bccontrols/test_bcbutton_functions/test.lpi
  15. 105 7
      test/test_bccontrols/test_bcbuttonfocus/test.lpi
  16. 16 53
      test/test_bccontrols/test_bcbuttonfocus/umain.lfm
  17. 56 23
      test/test_bccontrols/test_bccontrols/bctest.lpi
  18. 52 21
      test/test_bccontrols/test_bcfilters/test_bcfilters.lpi
  19. 63 53
      test/test_bccontrols/test_bcfilters/unit1.lfm
  20. 1 1
      test/test_bccontrols/test_bcfilters/unit1.pas
  21. 56 22
      test/test_bccontrols/test_bcgamegrid/test_bcgamegrid.lpi
  22. 56 21
      test/test_bccontrols/test_bcimagebutton/test.lpi
  23. 36 29
      test/test_bccontrols/test_bcimagebutton/unit1.lfm
  24. 7 0
      test/test_bccontrols/test_bcimagebutton/unit1.pas
  25. 106 18
      test/test_bccontrols/test_bctoolbar/test_bctoolbar.lpi
  26. 106 17
      test/test_bccontrols/test_bctrackbarupdown/ptestupdown.lpi
  27. 291 323
      test/test_bccontrols/test_bctrackbarupdown/ptestupdown.lps
  28. 二进制
      test/test_bccontrols/test_bctrackbarupdown/ptestupdown.res
  29. 54 8
      test/test_bccontrols/test_bcxbutton/test_bcxbutton.lpi
  30. 46 37
      test/test_bccontrols/test_bcxbutton/utest.lfm
  31. 1 1
      test/test_bccontrols/test_bcxbutton/utest.pas
  32. 77 17
      test/test_bccontrols/test_progressbar/test_progressbar.lpi

+ 2 - 0
.gitignore

@@ -13,3 +13,5 @@ debug
 *.or
 *.compiled
 *Thumbs.db
+*.app/*
+*.dSYM

二进制
docs/img/analogcontrols.png


二进制
docs/img/bcbutton.png


二进制
docs/img/bcbuttonfocus.png


二进制
docs/img/bcimagebutton.png


二进制
docs/img/bctoolbar.png


二进制
docs/img/bcxbutton.png


二进制
docs/img/bgraribbon.png


二进制
docs/img/progressbar.png


+ 102 - 6
test/BGRA Ribbon Custom/BGRA Ribbon.lpi

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <CONFIG>
   <ProjectOptions>
-    <Version Value="9"/>
+    <Version Value="11"/>
     <PathDelim Value="\"/>
     <General>
       <SessionStorage Value="InProjectDir"/>
@@ -17,16 +17,95 @@
     <i18n>
       <EnableI18N LFM="False"/>
     </i18n>
-    <BuildModes Count="1">
-      <Item1 Name="Default" Default="True"/>
+    <BuildModes Count="3">
+      <Item1 Name="Debug" Default="True"/>
+      <Item2 Name="Release">
+        <CompilerOptions>
+          <Version Value="11"/>
+          <PathDelim Value="\"/>
+          <Target>
+            <Filename Value="BGRA_Ribbon"/>
+          </Target>
+          <SearchPaths>
+            <IncludeFiles Value="$(ProjOutDir)"/>
+            <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
+          </SearchPaths>
+          <CodeGeneration>
+            <SmartLinkUnit Value="True"/>
+            <Optimizations>
+              <OptimizationLevel Value="3"/>
+            </Optimizations>
+          </CodeGeneration>
+          <Linking>
+            <Debugging>
+              <GenerateDebugInfo Value="False"/>
+            </Debugging>
+            <LinkSmart Value="True"/>
+            <Options>
+              <Win32>
+                <GraphicApplication Value="True"/>
+              </Win32>
+            </Options>
+          </Linking>
+        </CompilerOptions>
+      </Item2>
+      <Item3 Name="Debug macOS 64">
+        <MacroValues Count="1">
+          <Macro1 Name="LCLWidgetType" Value="cocoa"/>
+        </MacroValues>
+        <CompilerOptions>
+          <Version Value="11"/>
+          <PathDelim Value="\"/>
+          <Target>
+            <Filename Value="BGRA_Ribbon"/>
+          </Target>
+          <SearchPaths>
+            <IncludeFiles Value="$(ProjOutDir)"/>
+            <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
+          </SearchPaths>
+          <Parsing>
+            <SyntaxOptions>
+              <IncludeAssertionCode Value="True"/>
+            </SyntaxOptions>
+          </Parsing>
+          <CodeGeneration>
+            <Checks>
+              <IOChecks Value="True"/>
+              <RangeChecks Value="True"/>
+              <OverflowChecks Value="True"/>
+              <StackChecks Value="True"/>
+            </Checks>
+            <VerifyObjMethodCallValidity Value="True"/>
+            <TargetCPU Value="x86_64"/>
+            <TargetOS Value="darwin"/>
+          </CodeGeneration>
+          <Linking>
+            <Debugging>
+              <DebugInfoType Value="dsDwarf2Set"/>
+              <UseHeaptrc Value="True"/>
+              <TrashVariables Value="True"/>
+              <UseExternalDbgSyms Value="True"/>
+            </Debugging>
+            <Options>
+              <Win32>
+                <GraphicApplication Value="True"/>
+              </Win32>
+            </Options>
+          </Linking>
+        </CompilerOptions>
+      </Item3>
+      <SharedMatrixOptions Count="1">
+        <Item1 ID="325839700375" Modes="Debug macOS 64" Type="IDEMacro" MacroName="LCLWidgetType" Value="cocoa"/>
+      </SharedMatrixOptions>
     </BuildModes>
     <PublishOptions>
       <Version Value="2"/>
     </PublishOptions>
     <RunParams>
-      <local>
-        <FormatVersion Value="1"/>
-      </local>
+      <FormatVersion Value="2"/>
+      <Modes Count="1">
+        <Mode0 Name="default"/>
+      </Modes>
     </RunParams>
     <RequiredPackages Count="5">
       <Item1>
@@ -73,8 +152,25 @@
       <IncludeFiles Value="$(ProjOutDir)"/>
       <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
     </SearchPaths>
+    <Parsing>
+      <SyntaxOptions>
+        <IncludeAssertionCode Value="True"/>
+      </SyntaxOptions>
+    </Parsing>
+    <CodeGeneration>
+      <Checks>
+        <IOChecks Value="True"/>
+        <RangeChecks Value="True"/>
+        <OverflowChecks Value="True"/>
+        <StackChecks Value="True"/>
+      </Checks>
+      <VerifyObjMethodCallValidity Value="True"/>
+    </CodeGeneration>
     <Linking>
       <Debugging>
+        <DebugInfoType Value="dsDwarf2Set"/>
+        <UseHeaptrc Value="True"/>
+        <TrashVariables Value="True"/>
         <UseExternalDbgSyms Value="True"/>
       </Debugging>
       <Options>

+ 103 - 9
test/svg_viewer/viewer.lpi

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <CONFIG>
   <ProjectOptions>
-    <Version Value="9"/>
+    <Version Value="11"/>
     <PathDelim Value="\"/>
     <General>
       <SessionStorage Value="InProjectDir"/>
@@ -14,19 +14,93 @@
     <i18n>
       <EnableI18N LFM="False"/>
     </i18n>
-    <VersionInfo>
-      <StringTable ProductVersion=""/>
-    </VersionInfo>
-    <BuildModes Count="1">
-      <Item1 Name="Default" Default="True"/>
+    <BuildModes Count="3">
+      <Item1 Name="Debug" Default="True"/>
+      <Item2 Name="Release">
+        <CompilerOptions>
+          <Version Value="11"/>
+          <PathDelim Value="\"/>
+          <Target>
+            <Filename Value="viewer"/>
+          </Target>
+          <SearchPaths>
+            <IncludeFiles Value="$(ProjOutDir)"/>
+            <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
+          </SearchPaths>
+          <CodeGeneration>
+            <SmartLinkUnit Value="True"/>
+            <Optimizations>
+              <OptimizationLevel Value="3"/>
+            </Optimizations>
+          </CodeGeneration>
+          <Linking>
+            <Debugging>
+              <GenerateDebugInfo Value="False"/>
+            </Debugging>
+            <LinkSmart Value="True"/>
+            <Options>
+              <Win32>
+                <GraphicApplication Value="True"/>
+              </Win32>
+            </Options>
+          </Linking>
+        </CompilerOptions>
+      </Item2>
+      <Item3 Name="Debug macOS 64">
+        <MacroValues Count="1">
+          <Macro1 Name="LCLWidgetType" Value="cocoa"/>
+        </MacroValues>
+        <CompilerOptions>
+          <Version Value="11"/>
+          <PathDelim Value="\"/>
+          <Target>
+            <Filename Value="viewer"/>
+          </Target>
+          <SearchPaths>
+            <IncludeFiles Value="$(ProjOutDir)"/>
+            <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
+          </SearchPaths>
+          <Parsing>
+            <SyntaxOptions>
+              <IncludeAssertionCode Value="True"/>
+            </SyntaxOptions>
+          </Parsing>
+          <CodeGeneration>
+            <Checks>
+              <IOChecks Value="True"/>
+              <RangeChecks Value="True"/>
+              <OverflowChecks Value="True"/>
+              <StackChecks Value="True"/>
+            </Checks>
+            <VerifyObjMethodCallValidity Value="True"/>
+          </CodeGeneration>
+          <Linking>
+            <Debugging>
+              <DebugInfoType Value="dsDwarf2Set"/>
+              <UseHeaptrc Value="True"/>
+              <TrashVariables Value="True"/>
+              <UseExternalDbgSyms Value="True"/>
+            </Debugging>
+            <Options>
+              <Win32>
+                <GraphicApplication Value="True"/>
+              </Win32>
+            </Options>
+          </Linking>
+        </CompilerOptions>
+      </Item3>
+      <SharedMatrixOptions Count="1">
+        <Item1 ID="718841172063" Modes="Debug macOS 64" Type="IDEMacro" MacroName="LCLWidgetType" Value="cocoa"/>
+      </SharedMatrixOptions>
     </BuildModes>
     <PublishOptions>
       <Version Value="2"/>
     </PublishOptions>
     <RunParams>
-      <local>
-        <FormatVersion Value="1"/>
-      </local>
+      <FormatVersion Value="2"/>
+      <Modes Count="1">
+        <Mode0 Name="default"/>
+      </Modes>
     </RunParams>
     <RequiredPackages Count="2">
       <Item1>
@@ -60,7 +134,27 @@
       <IncludeFiles Value="$(ProjOutDir)"/>
       <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
     </SearchPaths>
+    <Parsing>
+      <SyntaxOptions>
+        <IncludeAssertionCode Value="True"/>
+      </SyntaxOptions>
+    </Parsing>
+    <CodeGeneration>
+      <Checks>
+        <IOChecks Value="True"/>
+        <RangeChecks Value="True"/>
+        <OverflowChecks Value="True"/>
+        <StackChecks Value="True"/>
+      </Checks>
+      <VerifyObjMethodCallValidity Value="True"/>
+    </CodeGeneration>
     <Linking>
+      <Debugging>
+        <DebugInfoType Value="dsDwarf2Set"/>
+        <UseHeaptrc Value="True"/>
+        <TrashVariables Value="True"/>
+        <UseExternalDbgSyms Value="True"/>
+      </Debugging>
       <Options>
         <Win32>
           <GraphicApplication Value="True"/>

+ 50 - 22
test/test_analog_controls/dtanalogdemo.lpi

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <CONFIG>
   <ProjectOptions>
-    <Version Value="9"/>
+    <Version Value="11"/>
     <PathDelim Value="\"/>
     <General>
       <SessionStorage Value="InProjectDir"/>
@@ -13,10 +13,7 @@
     <i18n>
       <EnableI18N LFM="False"/>
     </i18n>
-    <VersionInfo>
-      <StringTable ProductVersion=""/>
-    </VersionInfo>
-    <BuildModes Count="2">
+    <BuildModes Count="3">
       <Item1 Name="Debug" Default="True"/>
       <Item2 Name="Release">
         <CompilerOptions>
@@ -46,14 +43,52 @@
               </Win32>
             </Options>
           </Linking>
-          <Other>
-            <CompilerMessages>
-              <MsgFileName Value=""/>
-            </CompilerMessages>
-            <CompilerPath Value="$(CompPath)"/>
-          </Other>
         </CompilerOptions>
       </Item2>
+      <Item3 Name="Debug macOS 64">
+        <MacroValues Count="1">
+          <Macro1 Name="LCLWidgetType" Value="cocoa"/>
+        </MacroValues>
+        <CompilerOptions>
+          <Version Value="11"/>
+          <PathDelim Value="\"/>
+          <Target>
+            <Filename Value="dtanalogdemo"/>
+          </Target>
+          <SearchPaths>
+            <IncludeFiles Value="$(ProjOutDir)"/>
+            <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
+          </SearchPaths>
+          <Parsing>
+            <SyntaxOptions>
+              <IncludeAssertionCode Value="True"/>
+            </SyntaxOptions>
+          </Parsing>
+          <CodeGeneration>
+            <Checks>
+              <IOChecks Value="True"/>
+              <RangeChecks Value="True"/>
+              <OverflowChecks Value="True"/>
+              <StackChecks Value="True"/>
+            </Checks>
+          </CodeGeneration>
+          <Linking>
+            <Debugging>
+              <DebugInfoType Value="dsDwarf2Set"/>
+              <UseHeaptrc Value="True"/>
+              <UseExternalDbgSyms Value="True"/>
+            </Debugging>
+            <Options>
+              <Win32>
+                <GraphicApplication Value="True"/>
+              </Win32>
+            </Options>
+          </Linking>
+        </CompilerOptions>
+      </Item3>
+      <SharedMatrixOptions Count="1">
+        <Item1 ID="530731885381" Modes="Debug macOS 64" Type="IDEMacro" MacroName="LCLWidgetType" Value="cocoa"/>
+      </SharedMatrixOptions>
     </BuildModes>
     <PublishOptions>
       <Version Value="2"/>
@@ -61,9 +96,10 @@
       <ExcludeFileFilter Value="*.(bak|ppu|o|so);*~;backup"/>
     </PublishOptions>
     <RunParams>
-      <local>
-        <FormatVersion Value="1"/>
-      </local>
+      <FormatVersion Value="2"/>
+      <Modes Count="1">
+        <Mode0 Name="default"/>
+      </Modes>
     </RunParams>
     <RequiredPackages Count="2">
       <Item1>
@@ -77,7 +113,6 @@
       <Unit0>
         <Filename Value="dtanalogdemo.lpr"/>
         <IsPartOfProject Value="True"/>
-        <UnitName Value="dtanalogdemo"/>
       </Unit0>
       <Unit1>
         <Filename Value="umain.pas"/>
@@ -85,7 +120,6 @@
         <ComponentName Value="Form1"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-        <UnitName Value="umain"/>
       </Unit1>
     </Units>
   </ProjectOptions>
@@ -124,12 +158,6 @@
         </Win32>
       </Options>
     </Linking>
-    <Other>
-      <CompilerMessages>
-        <MsgFileName Value=""/>
-      </CompilerMessages>
-      <CompilerPath Value="$(CompPath)"/>
-    </Other>
   </CompilerOptions>
   <Debugging>
     <Exceptions Count="3">

+ 52 - 21
test/test_bccontrols/test_bcbutton/bcsample.lpi

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <CONFIG>
   <ProjectOptions>
-    <Version Value="9"/>
+    <Version Value="11"/>
     <PathDelim Value="\"/>
     <General>
       <SessionStorage Value="InProjectDir"/>
@@ -13,10 +13,7 @@
     <i18n>
       <EnableI18N LFM="False"/>
     </i18n>
-    <VersionInfo>
-      <StringTable ProductVersion=""/>
-    </VersionInfo>
-    <BuildModes Count="2">
+    <BuildModes Count="3">
       <Item1 Name="Debug" Default="True"/>
       <Item2 Name="Release">
         <CompilerOptions>
@@ -46,14 +43,54 @@
               </Win32>
             </Options>
           </Linking>
-          <Other>
-            <CompilerMessages>
-              <MsgFileName Value=""/>
-            </CompilerMessages>
-            <CompilerPath Value="$(CompPath)"/>
-          </Other>
         </CompilerOptions>
       </Item2>
+      <Item3 Name="Debug macOS 64">
+        <MacroValues Count="1">
+          <Macro1 Name="LCLWidgetType" Value="cocoa"/>
+        </MacroValues>
+        <CompilerOptions>
+          <Version Value="11"/>
+          <PathDelim Value="\"/>
+          <Target>
+            <Filename Value="bcsample"/>
+          </Target>
+          <SearchPaths>
+            <IncludeFiles Value="$(ProjOutDir)"/>
+            <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
+          </SearchPaths>
+          <Parsing>
+            <SyntaxOptions>
+              <IncludeAssertionCode Value="True"/>
+            </SyntaxOptions>
+          </Parsing>
+          <CodeGeneration>
+            <Checks>
+              <IOChecks Value="True"/>
+              <RangeChecks Value="True"/>
+              <OverflowChecks Value="True"/>
+              <StackChecks Value="True"/>
+            </Checks>
+            <TargetCPU Value="x86_64"/>
+            <TargetOS Value="darwin"/>
+          </CodeGeneration>
+          <Linking>
+            <Debugging>
+              <DebugInfoType Value="dsDwarf2Set"/>
+              <UseHeaptrc Value="True"/>
+              <UseExternalDbgSyms Value="True"/>
+            </Debugging>
+            <Options>
+              <Win32>
+                <GraphicApplication Value="True"/>
+              </Win32>
+            </Options>
+          </Linking>
+        </CompilerOptions>
+      </Item3>
+      <SharedMatrixOptions Count="1">
+        <Item1 ID="130639678305" Modes="Debug macOS 64" Type="IDEMacro" MacroName="LCLWidgetType" Value="cocoa"/>
+      </SharedMatrixOptions>
     </BuildModes>
     <PublishOptions>
       <Version Value="2"/>
@@ -61,9 +98,10 @@
       <ExcludeFileFilter Value="*.(bak|ppu|o|so);*~;backup"/>
     </PublishOptions>
     <RunParams>
-      <local>
-        <FormatVersion Value="1"/>
-      </local>
+      <FormatVersion Value="2"/>
+      <Modes Count="1">
+        <Mode0 Name="default"/>
+      </Modes>
     </RunParams>
     <RequiredPackages Count="2">
       <Item1>
@@ -77,7 +115,6 @@
       <Unit0>
         <Filename Value="bcsample.lpr"/>
         <IsPartOfProject Value="True"/>
-        <UnitName Value="bcsample"/>
       </Unit0>
       <Unit1>
         <Filename Value="unit1.pas"/>
@@ -124,12 +161,6 @@
         </Win32>
       </Options>
     </Linking>
-    <Other>
-      <CompilerMessages>
-        <MsgFileName Value=""/>
-      </CompilerMessages>
-      <CompilerPath Value="$(CompPath)"/>
-    </Other>
   </CompilerOptions>
   <Debugging>
     <Exceptions Count="3">

+ 105 - 6
test/test_bccontrols/test_bcbutton_functions/test.lpi

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <CONFIG>
   <ProjectOptions>
-    <Version Value="9"/>
+    <Version Value="11"/>
     <PathDelim Value="\"/>
     <General>
       <SessionStorage Value="InProjectDir"/>
@@ -13,16 +13,95 @@
         <DpiAware Value="True"/>
       </XPManifest>
     </General>
-    <BuildModes Count="1">
-      <Item1 Name="Default" Default="True"/>
+    <BuildModes Count="3">
+      <Item1 Name="Debug" Default="True"/>
+      <Item2 Name="Release">
+        <CompilerOptions>
+          <Version Value="11"/>
+          <PathDelim Value="\"/>
+          <Target>
+            <Filename Value="test"/>
+          </Target>
+          <SearchPaths>
+            <IncludeFiles Value="$(ProjOutDir)"/>
+            <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
+          </SearchPaths>
+          <CodeGeneration>
+            <SmartLinkUnit Value="True"/>
+            <Optimizations>
+              <OptimizationLevel Value="3"/>
+            </Optimizations>
+          </CodeGeneration>
+          <Linking>
+            <Debugging>
+              <GenerateDebugInfo Value="False"/>
+            </Debugging>
+            <LinkSmart Value="True"/>
+            <Options>
+              <Win32>
+                <GraphicApplication Value="True"/>
+              </Win32>
+            </Options>
+          </Linking>
+        </CompilerOptions>
+      </Item2>
+      <Item3 Name="Debug macOS 64">
+        <MacroValues Count="1">
+          <Macro1 Name="LCLWidgetType" Value="cocoa"/>
+        </MacroValues>
+        <CompilerOptions>
+          <Version Value="11"/>
+          <PathDelim Value="\"/>
+          <Target>
+            <Filename Value="test"/>
+          </Target>
+          <SearchPaths>
+            <IncludeFiles Value="$(ProjOutDir)"/>
+            <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
+          </SearchPaths>
+          <Parsing>
+            <SyntaxOptions>
+              <IncludeAssertionCode Value="True"/>
+            </SyntaxOptions>
+          </Parsing>
+          <CodeGeneration>
+            <Checks>
+              <IOChecks Value="True"/>
+              <RangeChecks Value="True"/>
+              <OverflowChecks Value="True"/>
+              <StackChecks Value="True"/>
+            </Checks>
+            <VerifyObjMethodCallValidity Value="True"/>
+            <TargetCPU Value="x86_64"/>
+            <TargetOS Value="darwin"/>
+          </CodeGeneration>
+          <Linking>
+            <Debugging>
+              <DebugInfoType Value="dsDwarf2Set"/>
+              <UseHeaptrc Value="True"/>
+              <TrashVariables Value="True"/>
+              <UseExternalDbgSyms Value="True"/>
+            </Debugging>
+            <Options>
+              <Win32>
+                <GraphicApplication Value="True"/>
+              </Win32>
+            </Options>
+          </Linking>
+        </CompilerOptions>
+      </Item3>
+      <SharedMatrixOptions Count="1">
+        <Item1 ID="500993870451" Modes="Debug macOS 64" Type="IDEMacro" MacroName="LCLWidgetType" Value="cocoa"/>
+      </SharedMatrixOptions>
     </BuildModes>
     <PublishOptions>
       <Version Value="2"/>
     </PublishOptions>
     <RunParams>
-      <local>
-        <FormatVersion Value="1"/>
-      </local>
+      <FormatVersion Value="2"/>
+      <Modes Count="1">
+        <Mode0 Name="default"/>
+      </Modes>
     </RunParams>
     <RequiredPackages Count="2">
       <Item1>
@@ -60,7 +139,27 @@
       <IncludeFiles Value="$(ProjOutDir)"/>
       <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
     </SearchPaths>
+    <Parsing>
+      <SyntaxOptions>
+        <IncludeAssertionCode Value="True"/>
+      </SyntaxOptions>
+    </Parsing>
+    <CodeGeneration>
+      <Checks>
+        <IOChecks Value="True"/>
+        <RangeChecks Value="True"/>
+        <OverflowChecks Value="True"/>
+        <StackChecks Value="True"/>
+      </Checks>
+      <VerifyObjMethodCallValidity Value="True"/>
+    </CodeGeneration>
     <Linking>
+      <Debugging>
+        <DebugInfoType Value="dsDwarf2Set"/>
+        <UseHeaptrc Value="True"/>
+        <TrashVariables Value="True"/>
+        <UseExternalDbgSyms Value="True"/>
+      </Debugging>
       <Options>
         <Win32>
           <GraphicApplication Value="True"/>

+ 105 - 7
test/test_bccontrols/test_bcbuttonfocus/test.lpi

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <CONFIG>
   <ProjectOptions>
-    <Version Value="9"/>
+    <Version Value="11"/>
     <PathDelim Value="\"/>
     <General>
       <SessionStorage Value="InProjectDir"/>
@@ -12,18 +12,96 @@
       <XPManifest>
         <DpiAware Value="True"/>
       </XPManifest>
-      <Icon Value="0"/>
     </General>
-    <BuildModes Count="1">
-      <Item1 Name="Default" Default="True"/>
+    <BuildModes Count="3">
+      <Item1 Name="Debug" Default="True"/>
+      <Item2 Name="Release">
+        <CompilerOptions>
+          <Version Value="11"/>
+          <PathDelim Value="\"/>
+          <Target>
+            <Filename Value="test"/>
+          </Target>
+          <SearchPaths>
+            <IncludeFiles Value="$(ProjOutDir)"/>
+            <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
+          </SearchPaths>
+          <CodeGeneration>
+            <SmartLinkUnit Value="True"/>
+            <Optimizations>
+              <OptimizationLevel Value="3"/>
+            </Optimizations>
+          </CodeGeneration>
+          <Linking>
+            <Debugging>
+              <GenerateDebugInfo Value="False"/>
+            </Debugging>
+            <LinkSmart Value="True"/>
+            <Options>
+              <Win32>
+                <GraphicApplication Value="True"/>
+              </Win32>
+            </Options>
+          </Linking>
+        </CompilerOptions>
+      </Item2>
+      <Item3 Name="Debug macOS 64">
+        <MacroValues Count="1">
+          <Macro1 Name="LCLWidgetType" Value="cocoa"/>
+        </MacroValues>
+        <CompilerOptions>
+          <Version Value="11"/>
+          <PathDelim Value="\"/>
+          <Target>
+            <Filename Value="test"/>
+          </Target>
+          <SearchPaths>
+            <IncludeFiles Value="$(ProjOutDir)"/>
+            <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
+          </SearchPaths>
+          <Parsing>
+            <SyntaxOptions>
+              <IncludeAssertionCode Value="True"/>
+            </SyntaxOptions>
+          </Parsing>
+          <CodeGeneration>
+            <Checks>
+              <IOChecks Value="True"/>
+              <RangeChecks Value="True"/>
+              <OverflowChecks Value="True"/>
+              <StackChecks Value="True"/>
+            </Checks>
+            <VerifyObjMethodCallValidity Value="True"/>
+            <TargetCPU Value="x86_64"/>
+            <TargetOS Value="darwin"/>
+          </CodeGeneration>
+          <Linking>
+            <Debugging>
+              <DebugInfoType Value="dsDwarf2Set"/>
+              <UseHeaptrc Value="True"/>
+              <TrashVariables Value="True"/>
+              <UseExternalDbgSyms Value="True"/>
+            </Debugging>
+            <Options>
+              <Win32>
+                <GraphicApplication Value="True"/>
+              </Win32>
+            </Options>
+          </Linking>
+        </CompilerOptions>
+      </Item3>
+      <SharedMatrixOptions Count="1">
+        <Item1 ID="652384755329" Modes="Debug macOS 64" Type="IDEMacro" MacroName="LCLWidgetType" Value="cocoa"/>
+      </SharedMatrixOptions>
     </BuildModes>
     <PublishOptions>
       <Version Value="2"/>
     </PublishOptions>
     <RunParams>
-      <local>
-        <FormatVersion Value="1"/>
-      </local>
+      <FormatVersion Value="2"/>
+      <Modes Count="1">
+        <Mode0 Name="default"/>
+      </Modes>
     </RunParams>
     <RequiredPackages Count="2">
       <Item1>
@@ -57,7 +135,27 @@
       <IncludeFiles Value="$(ProjOutDir)"/>
       <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
     </SearchPaths>
+    <Parsing>
+      <SyntaxOptions>
+        <IncludeAssertionCode Value="True"/>
+      </SyntaxOptions>
+    </Parsing>
+    <CodeGeneration>
+      <Checks>
+        <IOChecks Value="True"/>
+        <RangeChecks Value="True"/>
+        <OverflowChecks Value="True"/>
+        <StackChecks Value="True"/>
+      </Checks>
+      <VerifyObjMethodCallValidity Value="True"/>
+    </CodeGeneration>
     <Linking>
+      <Debugging>
+        <DebugInfoType Value="dsDwarf2Set"/>
+        <UseHeaptrc Value="True"/>
+        <TrashVariables Value="True"/>
+        <UseExternalDbgSyms Value="True"/>
+      </Debugging>
       <Options>
         <Win32>
           <GraphicApplication Value="True"/>

+ 16 - 53
test/test_bccontrols/test_bcbuttonfocus/umain.lfm

@@ -1,17 +1,18 @@
 object Form1: TForm1
-  Left = 462
-  Height = 240
-  Top = 146
-  Width = 320
+  Left = 461
+  Height = 180
+  Top = 145
+  Width = 240
   Caption = 'BC Button Focus'
-  ClientHeight = 240
-  ClientWidth = 320
-  LCLVersion = '1.7'
+  ClientHeight = 180
+  ClientWidth = 240
+  DesignTimePPI = 72
+  LCLVersion = '1.9.0.0'
   object BCButtonFocus1: TBCButtonFocus
-    Left = 8
-    Height = 34
-    Top = 8
-    Width = 147
+    Left = 6
+    Height = 26
+    Top = 6
+    Width = 110
     StateClicked.Background.Color = clBlack
     StateClicked.Background.ColorOpacity = 255
     StateClicked.Background.Gradient1.StartColor = 7726591
@@ -21,9 +22,6 @@ object Form1: TForm1
     StateClicked.Background.Gradient1.EndColorOpacity = 255
     StateClicked.Background.Gradient1.ColorCorrection = True
     StateClicked.Background.Gradient1.GradientType = gtLinear
-    StateClicked.Background.Gradient1.Point1XPercent = 0
-    StateClicked.Background.Gradient1.Point1YPercent = 0
-    StateClicked.Background.Gradient1.Point2XPercent = 0
     StateClicked.Background.Gradient1.Point2YPercent = 100
     StateClicked.Background.Gradient1.Sinus = False
     StateClicked.Background.Gradient2.StartColor = 7067903
@@ -33,9 +31,6 @@ object Form1: TForm1
     StateClicked.Background.Gradient2.EndColorOpacity = 255
     StateClicked.Background.Gradient2.ColorCorrection = True
     StateClicked.Background.Gradient2.GradientType = gtLinear
-    StateClicked.Background.Gradient2.Point1XPercent = 0
-    StateClicked.Background.Gradient2.Point1YPercent = 0
-    StateClicked.Background.Gradient2.Point2XPercent = 0
     StateClicked.Background.Gradient2.Point2YPercent = 100
     StateClicked.Background.Gradient2.Sinus = False
     StateClicked.Background.Gradient1EndPercent = 50
@@ -70,9 +65,6 @@ object Form1: TForm1
     StateHover.Background.Gradient1.EndColorOpacity = 255
     StateHover.Background.Gradient1.ColorCorrection = True
     StateHover.Background.Gradient1.GradientType = gtLinear
-    StateHover.Background.Gradient1.Point1XPercent = 0
-    StateHover.Background.Gradient1.Point1YPercent = 0
-    StateHover.Background.Gradient1.Point2XPercent = 0
     StateHover.Background.Gradient1.Point2YPercent = 100
     StateHover.Background.Gradient1.Sinus = False
     StateHover.Background.Gradient2.StartColor = 8840446
@@ -82,9 +74,6 @@ object Form1: TForm1
     StateHover.Background.Gradient2.EndColorOpacity = 255
     StateHover.Background.Gradient2.ColorCorrection = True
     StateHover.Background.Gradient2.GradientType = gtLinear
-    StateHover.Background.Gradient2.Point1XPercent = 0
-    StateHover.Background.Gradient2.Point1YPercent = 0
-    StateHover.Background.Gradient2.Point2XPercent = 0
     StateHover.Background.Gradient2.Point2YPercent = 100
     StateHover.Background.Gradient2.Sinus = False
     StateHover.Background.Gradient1EndPercent = 50
@@ -119,9 +108,6 @@ object Form1: TForm1
     StateNormal.Background.Gradient1.EndColorOpacity = 255
     StateNormal.Background.Gradient1.ColorCorrection = True
     StateNormal.Background.Gradient1.GradientType = gtLinear
-    StateNormal.Background.Gradient1.Point1XPercent = 0
-    StateNormal.Background.Gradient1.Point1YPercent = 0
-    StateNormal.Background.Gradient1.Point2XPercent = 0
     StateNormal.Background.Gradient1.Point2YPercent = 100
     StateNormal.Background.Gradient1.Sinus = False
     StateNormal.Background.Gradient2.StartColor = 13137169
@@ -131,9 +117,6 @@ object Form1: TForm1
     StateNormal.Background.Gradient2.EndColorOpacity = 255
     StateNormal.Background.Gradient2.ColorCorrection = True
     StateNormal.Background.Gradient2.GradientType = gtLinear
-    StateNormal.Background.Gradient2.Point1XPercent = 0
-    StateNormal.Background.Gradient2.Point1YPercent = 0
-    StateNormal.Background.Gradient2.Point2XPercent = 0
     StateNormal.Background.Gradient2.Point2YPercent = 100
     StateNormal.Background.Gradient2.Sinus = False
     StateNormal.Background.Gradient1EndPercent = 100
@@ -164,7 +147,6 @@ object Form1: TForm1
     DropDownWidth = 16
     DropDownArrowSize = 8
     GlobalOpacity = 255
-    InnerMargin = 0
     ParentColor = False
     Rounding.RoundX = 3
     Rounding.RoundY = 3
@@ -178,10 +160,10 @@ object Form1: TForm1
     OnPaintButton = BCButtonFocus1PaintButton
   end
   object BCButtonFocus2: TBCButtonFocus
-    Left = 8
-    Height = 34
-    Top = 48
-    Width = 147
+    Left = 6
+    Height = 26
+    Top = 36
+    Width = 110
     StateClicked.Background.Color = clBlack
     StateClicked.Background.ColorOpacity = 255
     StateClicked.Background.Gradient1.StartColor = 7726591
@@ -191,9 +173,6 @@ object Form1: TForm1
     StateClicked.Background.Gradient1.EndColorOpacity = 255
     StateClicked.Background.Gradient1.ColorCorrection = True
     StateClicked.Background.Gradient1.GradientType = gtLinear
-    StateClicked.Background.Gradient1.Point1XPercent = 0
-    StateClicked.Background.Gradient1.Point1YPercent = 0
-    StateClicked.Background.Gradient1.Point2XPercent = 0
     StateClicked.Background.Gradient1.Point2YPercent = 100
     StateClicked.Background.Gradient1.Sinus = False
     StateClicked.Background.Gradient2.StartColor = 7067903
@@ -203,9 +182,6 @@ object Form1: TForm1
     StateClicked.Background.Gradient2.EndColorOpacity = 255
     StateClicked.Background.Gradient2.ColorCorrection = True
     StateClicked.Background.Gradient2.GradientType = gtLinear
-    StateClicked.Background.Gradient2.Point1XPercent = 0
-    StateClicked.Background.Gradient2.Point1YPercent = 0
-    StateClicked.Background.Gradient2.Point2XPercent = 0
     StateClicked.Background.Gradient2.Point2YPercent = 100
     StateClicked.Background.Gradient2.Sinus = False
     StateClicked.Background.Gradient1EndPercent = 50
@@ -240,9 +216,6 @@ object Form1: TForm1
     StateHover.Background.Gradient1.EndColorOpacity = 255
     StateHover.Background.Gradient1.ColorCorrection = True
     StateHover.Background.Gradient1.GradientType = gtLinear
-    StateHover.Background.Gradient1.Point1XPercent = 0
-    StateHover.Background.Gradient1.Point1YPercent = 0
-    StateHover.Background.Gradient1.Point2XPercent = 0
     StateHover.Background.Gradient1.Point2YPercent = 100
     StateHover.Background.Gradient1.Sinus = False
     StateHover.Background.Gradient2.StartColor = 8840446
@@ -252,9 +225,6 @@ object Form1: TForm1
     StateHover.Background.Gradient2.EndColorOpacity = 255
     StateHover.Background.Gradient2.ColorCorrection = True
     StateHover.Background.Gradient2.GradientType = gtLinear
-    StateHover.Background.Gradient2.Point1XPercent = 0
-    StateHover.Background.Gradient2.Point1YPercent = 0
-    StateHover.Background.Gradient2.Point2XPercent = 0
     StateHover.Background.Gradient2.Point2YPercent = 100
     StateHover.Background.Gradient2.Sinus = False
     StateHover.Background.Gradient1EndPercent = 50
@@ -289,9 +259,6 @@ object Form1: TForm1
     StateNormal.Background.Gradient1.EndColorOpacity = 255
     StateNormal.Background.Gradient1.ColorCorrection = True
     StateNormal.Background.Gradient1.GradientType = gtLinear
-    StateNormal.Background.Gradient1.Point1XPercent = 0
-    StateNormal.Background.Gradient1.Point1YPercent = 0
-    StateNormal.Background.Gradient1.Point2XPercent = 0
     StateNormal.Background.Gradient1.Point2YPercent = 100
     StateNormal.Background.Gradient1.Sinus = False
     StateNormal.Background.Gradient2.StartColor = 13137169
@@ -301,9 +268,6 @@ object Form1: TForm1
     StateNormal.Background.Gradient2.EndColorOpacity = 255
     StateNormal.Background.Gradient2.ColorCorrection = True
     StateNormal.Background.Gradient2.GradientType = gtLinear
-    StateNormal.Background.Gradient2.Point1XPercent = 0
-    StateNormal.Background.Gradient2.Point1YPercent = 0
-    StateNormal.Background.Gradient2.Point2XPercent = 0
     StateNormal.Background.Gradient2.Point2YPercent = 100
     StateNormal.Background.Gradient2.Sinus = False
     StateNormal.Background.Gradient1EndPercent = 100
@@ -334,7 +298,6 @@ object Form1: TForm1
     DropDownWidth = 16
     DropDownArrowSize = 8
     GlobalOpacity = 255
-    InnerMargin = 0
     ParentColor = False
     Rounding.RoundX = 3
     Rounding.RoundY = 3

+ 56 - 23
test/test_bccontrols/test_bccontrols/bctest.lpi

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <CONFIG>
   <ProjectOptions>
-    <Version Value="9"/>
+    <Version Value="11"/>
     <PathDelim Value="\"/>
     <General>
       <SessionStorage Value="InProjectDir"/>
@@ -16,10 +16,7 @@
     <i18n>
       <EnableI18N LFM="False"/>
     </i18n>
-    <VersionInfo>
-      <StringTable ProductVersion=""/>
-    </VersionInfo>
-    <BuildModes Count="2">
+    <BuildModes Count="3">
       <Item1 Name="Debug" Default="True"/>
       <Item2 Name="Release">
         <CompilerOptions>
@@ -51,14 +48,58 @@
               </Win32>
             </Options>
           </Linking>
-          <Other>
-            <CompilerMessages>
-              <MsgFileName Value=""/>
-            </CompilerMessages>
-            <CompilerPath Value="$(CompPath)"/>
-          </Other>
         </CompilerOptions>
       </Item2>
+      <Item3 Name="Debug macOS 64">
+        <MacroValues Count="1">
+          <Macro1 Name="LCLWidgetType" Value="cocoa"/>
+        </MacroValues>
+        <CompilerOptions>
+          <Version Value="11"/>
+          <PathDelim Value="\"/>
+          <Target>
+            <Filename Value="bctest"/>
+          </Target>
+          <SearchPaths>
+            <IncludeFiles Value="$(ProjOutDir)"/>
+            <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
+          </SearchPaths>
+          <Parsing>
+            <SyntaxOptions>
+              <IncludeAssertionCode Value="True"/>
+            </SyntaxOptions>
+          </Parsing>
+          <CodeGeneration>
+            <Checks>
+              <IOChecks Value="True"/>
+              <RangeChecks Value="True"/>
+              <OverflowChecks Value="True"/>
+              <StackChecks Value="True"/>
+            </Checks>
+            <TargetCPU Value="x86_64"/>
+            <TargetOS Value="darwin"/>
+            <Optimizations>
+              <VariablesInRegisters Value="True"/>
+            </Optimizations>
+          </CodeGeneration>
+          <Linking>
+            <Debugging>
+              <DebugInfoType Value="dsDwarf2Set"/>
+              <UseHeaptrc Value="True"/>
+              <StripSymbols Value="True"/>
+              <UseExternalDbgSyms Value="True"/>
+            </Debugging>
+            <Options>
+              <Win32>
+                <GraphicApplication Value="True"/>
+              </Win32>
+            </Options>
+          </Linking>
+        </CompilerOptions>
+      </Item3>
+      <SharedMatrixOptions Count="1">
+        <Item1 ID="568997487647" Modes="Debug macOS 64" Type="IDEMacro" MacroName="LCLWidgetType" Value="cocoa"/>
+      </SharedMatrixOptions>
     </BuildModes>
     <PublishOptions>
       <Version Value="2"/>
@@ -66,9 +107,10 @@
       <ExcludeFileFilter Value="*.(bak|ppu|o|so);*~;backup"/>
     </PublishOptions>
     <RunParams>
-      <local>
-        <FormatVersion Value="1"/>
-      </local>
+      <FormatVersion Value="2"/>
+      <Modes Count="1">
+        <Mode0 Name="default"/>
+      </Modes>
     </RunParams>
     <RequiredPackages Count="2">
       <Item1>
@@ -82,7 +124,6 @@
       <Unit0>
         <Filename Value="bctest.lpr"/>
         <IsPartOfProject Value="True"/>
-        <UnitName Value="bctest"/>
       </Unit0>
       <Unit1>
         <Filename Value="ubctest.pas"/>
@@ -90,12 +131,10 @@
         <ComponentName Value="Form1"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-        <UnitName Value="ubctest"/>
       </Unit1>
       <Unit2>
         <Filename Value="bcsamples.pas"/>
         <IsPartOfProject Value="True"/>
-        <UnitName Value="bcsamples"/>
       </Unit2>
     </Units>
   </ProjectOptions>
@@ -138,12 +177,6 @@
         </Win32>
       </Options>
     </Linking>
-    <Other>
-      <CompilerMessages>
-        <MsgFileName Value=""/>
-      </CompilerMessages>
-      <CompilerPath Value="$(CompPath)"/>
-    </Other>
   </CompilerOptions>
   <Debugging>
     <Exceptions Count="3">

+ 52 - 21
test/test_bccontrols/test_bcfilters/test_bcfilters.lpi

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <CONFIG>
   <ProjectOptions>
-    <Version Value="9"/>
+    <Version Value="11"/>
     <PathDelim Value="\"/>
     <General>
       <SessionStorage Value="InProjectDir"/>
@@ -13,10 +13,7 @@
     <i18n>
       <EnableI18N LFM="False"/>
     </i18n>
-    <VersionInfo>
-      <StringTable ProductVersion=""/>
-    </VersionInfo>
-    <BuildModes Count="2">
+    <BuildModes Count="3">
       <Item1 Name="Debug" Default="True"/>
       <Item2 Name="Release">
         <CompilerOptions>
@@ -46,14 +43,54 @@
               </Win32>
             </Options>
           </Linking>
-          <Other>
-            <CompilerMessages>
-              <MsgFileName Value=""/>
-            </CompilerMessages>
-            <CompilerPath Value="$(CompPath)"/>
-          </Other>
         </CompilerOptions>
       </Item2>
+      <Item3 Name="Debug macOS 64">
+        <MacroValues Count="1">
+          <Macro1 Name="LCLWidgetType" Value="cocoa"/>
+        </MacroValues>
+        <CompilerOptions>
+          <Version Value="11"/>
+          <PathDelim Value="\"/>
+          <Target>
+            <Filename Value="test_bcfilters"/>
+          </Target>
+          <SearchPaths>
+            <IncludeFiles Value="$(ProjOutDir)"/>
+            <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
+          </SearchPaths>
+          <Parsing>
+            <SyntaxOptions>
+              <IncludeAssertionCode Value="True"/>
+            </SyntaxOptions>
+          </Parsing>
+          <CodeGeneration>
+            <Checks>
+              <IOChecks Value="True"/>
+              <RangeChecks Value="True"/>
+              <OverflowChecks Value="True"/>
+              <StackChecks Value="True"/>
+            </Checks>
+            <TargetCPU Value="x86_64"/>
+            <TargetOS Value="darwin"/>
+          </CodeGeneration>
+          <Linking>
+            <Debugging>
+              <DebugInfoType Value="dsDwarf2Set"/>
+              <UseHeaptrc Value="True"/>
+              <UseExternalDbgSyms Value="True"/>
+            </Debugging>
+            <Options>
+              <Win32>
+                <GraphicApplication Value="True"/>
+              </Win32>
+            </Options>
+          </Linking>
+        </CompilerOptions>
+      </Item3>
+      <SharedMatrixOptions Count="1">
+        <Item1 ID="292867745768" Modes="Debug macOS 64" Type="IDEMacro" MacroName="LCLWidgetType" Value="cocoa"/>
+      </SharedMatrixOptions>
     </BuildModes>
     <PublishOptions>
       <Version Value="2"/>
@@ -61,9 +98,10 @@
       <ExcludeFileFilter Value="*.(bak|ppu|o|so);*~;backup"/>
     </PublishOptions>
     <RunParams>
-      <local>
-        <FormatVersion Value="1"/>
-      </local>
+      <FormatVersion Value="2"/>
+      <Modes Count="1">
+        <Mode0 Name="default"/>
+      </Modes>
     </RunParams>
     <RequiredPackages Count="2">
       <Item1>
@@ -77,7 +115,6 @@
       <Unit0>
         <Filename Value="test_bcfilters.lpr"/>
         <IsPartOfProject Value="True"/>
-        <UnitName Value="test_bcfilters"/>
       </Unit0>
       <Unit1>
         <Filename Value="unit1.pas"/>
@@ -124,12 +161,6 @@
         </Win32>
       </Options>
     </Linking>
-    <Other>
-      <CompilerMessages>
-        <MsgFileName Value=""/>
-      </CompilerMessages>
-      <CompilerPath Value="$(CompPath)"/>
-    </Other>
   </CompilerOptions>
   <Debugging>
     <Exceptions Count="3">

+ 63 - 53
test/test_bccontrols/test_bcfilters/unit1.lfm

@@ -1,140 +1,150 @@
 object Form1: TForm1
   Left = 203
-  Height = 575
+  Height = 431
   Top = 139
-  Width = 1017
+  Width = 763
   Caption = 'BCFilters'
-  ClientHeight = 575
-  ClientWidth = 1017
+  ClientHeight = 431
+  ClientWidth = 763
+  DesignTimePPI = 72
   OnCloseQuery = FormCloseQuery
   OnCreate = FormCreate
   OnDestroy = FormDestroy
-  LCLVersion = '1.2.4.0'
+  LCLVersion = '1.9.0.0'
   object vs1: TBGRAVirtualScreen
-    Left = 8
-    Height = 320
-    Top = 8
-    Width = 320
+    Left = 6
+    Height = 240
+    Top = 6
+    Width = 240
     OnRedraw = vs1Redraw
     Alignment = taLeftJustify
     Color = clWhite
     ParentColor = False
+    ParentFont = False
     TabOrder = 0
   end
   object ListBox1: TListBox
-    Left = 344
-    Height = 320
-    Top = 8
-    Width = 160
+    Left = 258
+    Height = 240
+    Top = 6
+    Width = 120
     ExtendedSelect = False
     ItemHeight = 0
     OnSelectionChange = ListBox1SelectionChange
+    ParentFont = False
     TabOrder = 1
   end
   object ListBox2: TListBox
-    Left = 512
-    Height = 320
-    Top = 8
-    Width = 160
+    Left = 384
+    Height = 240
+    Top = 6
+    Width = 120
     ExtendedSelect = False
     ItemHeight = 0
     OnSelectionChange = ListBox1SelectionChange
+    ParentFont = False
     TabOrder = 2
   end
   object ListBox3: TListBox
-    Left = 680
-    Height = 320
-    Top = 8
-    Width = 160
+    Left = 510
+    Height = 240
+    Top = 6
+    Width = 120
     ExtendedSelect = False
     ItemHeight = 0
     OnSelectionChange = ListBox1SelectionChange
+    ParentFont = False
     TabOrder = 3
   end
   object ListBox4: TListBox
-    Left = 848
-    Height = 320
-    Top = 8
-    Width = 160
+    Left = 636
+    Height = 240
+    Top = 6
+    Width = 120
     ExtendedSelect = False
     ItemHeight = 0
     OnSelectionChange = ListBox1SelectionChange
+    ParentFont = False
     TabOrder = 4
   end
   object fs1: TFloatSpinEdit
-    Left = 8
-    Height = 33
-    Top = 336
-    Width = 322
+    Left = 6
+    Height = 24
+    Top = 252
+    Width = 242
     DecimalPlaces = 5
     Increment = 0.0001
     MaxValue = 1
-    MinValue = 0
     OnChange = fs1Change
+    ParentFont = False
     TabOrder = 5
     Value = 1
   end
   object fs2: TFloatSpinEdit
-    Left = 8
-    Height = 33
-    Top = 368
-    Width = 322
+    Left = 6
+    Height = 24
+    Top = 276
+    Width = 242
     DecimalPlaces = 5
     Increment = 0.0001
     MaxValue = 1
-    MinValue = 0
     OnChange = fs1Change
+    ParentFont = False
     TabOrder = 6
     Value = 0.98
   end
   object TrackBar1: TTrackBar
-    Left = 344
-    Height = 48
-    Top = 344
-    Width = 392
+    Left = 258
+    Height = 36
+    Top = 258
+    Width = 294
     Max = 100
     Min = 1
     OnChange = fs1Change
     Position = 100
+    ParentFont = False
     ParentShowHint = False
     TabOrder = 7
   end
   object TrackBar2: TTrackBar
-    Left = 344
-    Height = 48
-    Top = 408
-    Width = 392
+    Left = 258
+    Height = 36
+    Top = 306
+    Width = 294
     Max = 100
     Min = 1
     OnChange = fs1Change
     Position = 100
+    ParentFont = False
     TabOrder = 8
   end
   object TrackBar3: TTrackBar
-    Left = 344
-    Height = 48
-    Top = 464
-    Width = 392
+    Left = 258
+    Height = 36
+    Top = 348
+    Width = 294
     Max = 100
     Min = 1
     OnChange = fs1Change
     Position = 100
+    ParentFont = False
     TabOrder = 9
   end
   object TrackBar4: TTrackBar
-    Left = 344
-    Height = 48
-    Top = 512
-    Width = 392
+    Left = 258
+    Height = 36
+    Top = 384
+    Width = 294
     Max = 255
     OnChange = fs1Change
     Position = 255
+    ParentFont = False
     TabOrder = 10
   end
   object Timer1: TTimer
     Interval = 100
     OnTimer = Timer1Timer
-    left = 264
-    top = 72
+    Left = 198
+    Top = 54
   end
 end

+ 1 - 1
test/test_bccontrols/test_bcfilters/unit1.pas

@@ -52,7 +52,7 @@ implementation
 
 procedure TForm1.FormCreate(Sender: TObject);
 begin
-  Image := TBGRABitmap.Create('Penguins.jpg');
+  Image := TBGRABitmap.Create(Application.Location + 'Penguins.jpg');
 
   BCSimpleFilterStrList(ListBox1.Items);
   BCSimpleFilterStrList(ListBox2.Items);

+ 56 - 22
test/test_bccontrols/test_bcgamegrid/test_bcgamegrid.lpi

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <CONFIG>
   <ProjectOptions>
-    <Version Value="9"/>
+    <Version Value="11"/>
     <PathDelim Value="\"/>
     <General>
       <SessionStorage Value="InProjectDir"/>
@@ -13,10 +13,7 @@
     <i18n>
       <EnableI18N LFM="False"/>
     </i18n>
-    <VersionInfo>
-      <StringTable ProductVersion=""/>
-    </VersionInfo>
-    <BuildModes Count="2">
+    <BuildModes Count="3">
       <Item1 Name="Debug" Default="True"/>
       <Item2 Name="Release">
         <CompilerOptions>
@@ -48,14 +45,58 @@
               </Win32>
             </Options>
           </Linking>
-          <Other>
-            <CompilerMessages>
-              <MsgFileName Value=""/>
-            </CompilerMessages>
-            <CompilerPath Value="$(CompPath)"/>
-          </Other>
         </CompilerOptions>
       </Item2>
+      <Item3 Name="Debug macOS 64">
+        <MacroValues Count="1">
+          <Macro1 Name="LCLWidgetType" Value="cocoa"/>
+        </MacroValues>
+        <CompilerOptions>
+          <Version Value="11"/>
+          <PathDelim Value="\"/>
+          <Target>
+            <Filename Value="test_bcgamegrid"/>
+          </Target>
+          <SearchPaths>
+            <IncludeFiles Value="$(ProjOutDir)"/>
+            <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
+          </SearchPaths>
+          <Parsing>
+            <SyntaxOptions>
+              <IncludeAssertionCode Value="True"/>
+            </SyntaxOptions>
+          </Parsing>
+          <CodeGeneration>
+            <Checks>
+              <IOChecks Value="True"/>
+              <RangeChecks Value="True"/>
+              <OverflowChecks Value="True"/>
+              <StackChecks Value="True"/>
+            </Checks>
+            <TargetCPU Value="x86_64"/>
+            <TargetOS Value="darwin"/>
+            <Optimizations>
+              <VariablesInRegisters Value="True"/>
+            </Optimizations>
+          </CodeGeneration>
+          <Linking>
+            <Debugging>
+              <DebugInfoType Value="dsDwarf2Set"/>
+              <UseHeaptrc Value="True"/>
+              <StripSymbols Value="True"/>
+              <UseExternalDbgSyms Value="True"/>
+            </Debugging>
+            <Options>
+              <Win32>
+                <GraphicApplication Value="True"/>
+              </Win32>
+            </Options>
+          </Linking>
+        </CompilerOptions>
+      </Item3>
+      <SharedMatrixOptions Count="1">
+        <Item1 ID="347006526914" Modes="Debug macOS 64" Type="IDEMacro" MacroName="LCLWidgetType" Value="cocoa"/>
+      </SharedMatrixOptions>
     </BuildModes>
     <PublishOptions>
       <Version Value="2"/>
@@ -63,9 +104,10 @@
       <ExcludeFileFilter Value="*.(bak|ppu|o|so);*~;backup"/>
     </PublishOptions>
     <RunParams>
-      <local>
-        <FormatVersion Value="1"/>
-      </local>
+      <FormatVersion Value="2"/>
+      <Modes Count="1">
+        <Mode0 Name="default"/>
+      </Modes>
     </RunParams>
     <RequiredPackages Count="2">
       <Item1>
@@ -79,7 +121,6 @@
       <Unit0>
         <Filename Value="test_bcgamegrid.lpr"/>
         <IsPartOfProject Value="True"/>
-        <UnitName Value="test_bcgamegrid"/>
       </Unit0>
       <Unit1>
         <Filename Value="umain.pas"/>
@@ -87,7 +128,6 @@
         <ComponentName Value="Form1"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-        <UnitName Value="umain"/>
       </Unit1>
     </Units>
   </ProjectOptions>
@@ -130,12 +170,6 @@
         </Win32>
       </Options>
     </Linking>
-    <Other>
-      <CompilerMessages>
-        <MsgFileName Value=""/>
-      </CompilerMessages>
-      <CompilerPath Value="$(CompPath)"/>
-    </Other>
   </CompilerOptions>
   <Debugging>
     <Exceptions Count="3">

+ 56 - 21
test/test_bccontrols/test_bcimagebutton/test.lpi

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <CONFIG>
   <ProjectOptions>
-    <Version Value="9"/>
+    <Version Value="11"/>
     <PathDelim Value="\"/>
     <General>
       <SessionStorage Value="InProjectDir"/>
@@ -13,10 +13,7 @@
     <i18n>
       <EnableI18N LFM="False"/>
     </i18n>
-    <VersionInfo>
-      <StringTable ProductVersion=""/>
-    </VersionInfo>
-    <BuildModes Count="2">
+    <BuildModes Count="3">
       <Item1 Name="Debug" Default="True"/>
       <Item2 Name="Release">
         <CompilerOptions>
@@ -48,14 +45,58 @@
               </Win32>
             </Options>
           </Linking>
-          <Other>
-            <CompilerMessages>
-              <MsgFileName Value=""/>
-            </CompilerMessages>
-            <CompilerPath Value="$(CompPath)"/>
-          </Other>
         </CompilerOptions>
       </Item2>
+      <Item3 Name="Debug macOS 64">
+        <MacroValues Count="1">
+          <Macro1 Name="LCLWidgetType" Value="cocoa"/>
+        </MacroValues>
+        <CompilerOptions>
+          <Version Value="11"/>
+          <PathDelim Value="\"/>
+          <Target>
+            <Filename Value="test"/>
+          </Target>
+          <SearchPaths>
+            <IncludeFiles Value="$(ProjOutDir)"/>
+            <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
+          </SearchPaths>
+          <Parsing>
+            <SyntaxOptions>
+              <IncludeAssertionCode Value="True"/>
+            </SyntaxOptions>
+          </Parsing>
+          <CodeGeneration>
+            <Checks>
+              <IOChecks Value="True"/>
+              <RangeChecks Value="True"/>
+              <OverflowChecks Value="True"/>
+              <StackChecks Value="True"/>
+            </Checks>
+            <TargetCPU Value="x86_64"/>
+            <TargetOS Value="darwin"/>
+            <Optimizations>
+              <VariablesInRegisters Value="True"/>
+            </Optimizations>
+          </CodeGeneration>
+          <Linking>
+            <Debugging>
+              <DebugInfoType Value="dsDwarf2Set"/>
+              <UseHeaptrc Value="True"/>
+              <StripSymbols Value="True"/>
+              <UseExternalDbgSyms Value="True"/>
+            </Debugging>
+            <Options>
+              <Win32>
+                <GraphicApplication Value="True"/>
+              </Win32>
+            </Options>
+          </Linking>
+        </CompilerOptions>
+      </Item3>
+      <SharedMatrixOptions Count="1">
+        <Item1 ID="565344327308" Modes="Debug macOS 64" Type="IDEMacro" MacroName="LCLWidgetType" Value="cocoa"/>
+      </SharedMatrixOptions>
     </BuildModes>
     <PublishOptions>
       <Version Value="2"/>
@@ -63,9 +104,10 @@
       <ExcludeFileFilter Value="*.(bak|ppu|o|so);*~;backup"/>
     </PublishOptions>
     <RunParams>
-      <local>
-        <FormatVersion Value="1"/>
-      </local>
+      <FormatVersion Value="2"/>
+      <Modes Count="1">
+        <Mode0 Name="default"/>
+      </Modes>
     </RunParams>
     <RequiredPackages Count="2">
       <Item1>
@@ -79,7 +121,6 @@
       <Unit0>
         <Filename Value="test.lpr"/>
         <IsPartOfProject Value="True"/>
-        <UnitName Value="test"/>
       </Unit0>
       <Unit1>
         <Filename Value="unit1.pas"/>
@@ -130,12 +171,6 @@
         </Win32>
       </Options>
     </Linking>
-    <Other>
-      <CompilerMessages>
-        <MsgFileName Value=""/>
-      </CompilerMessages>
-      <CompilerPath Value="$(CompPath)"/>
-    </Other>
   </CompilerOptions>
   <Debugging>
     <Exceptions Count="3">

+ 36 - 29
test/test_bccontrols/test_bcimagebutton/unit1.lfm

@@ -1,19 +1,20 @@
 object Form1: TForm1
   Left = 214
-  Height = 402
+  Height = 302
   Top = 122
-  Width = 330
+  Width = 248
   Caption = 'Form1'
-  ClientHeight = 402
-  ClientWidth = 330
+  ClientHeight = 302
+  ClientWidth = 248
   Color = clWhite
+  DesignTimePPI = 72
   OnCreate = FormCreate
-  LCLVersion = '1.2.0.3'
+  LCLVersion = '1.9.0.0'
   object BCImageButton1: TBCImageButton
-    Left = 32
-    Height = 55
-    Top = 16
-    Width = 274
+    Left = 24
+    Height = 41
+    Top = 12
+    Width = 206
     Anchors = [akTop, akLeft, akRight]
     Animation = False
     BitmapFile = 'sample_1.png'
@@ -25,22 +26,24 @@ object Form1: TForm1
     BitmapOptions.Direction = sdVertical
     Caption = 'BCImageButton1'
     OnClick = BCImageButton1Click
+    ParentFont = False
   end
   object BCImageButton2: TBCImageButton
-    Left = 32
-    Height = 55
-    Top = 79
-    Width = 274
+    Left = 24
+    Height = 41
+    Top = 59
+    Width = 206
     Anchors = [akTop, akLeft, akRight]
     BitmapFile = 'sample_2.png'
     BitmapOptions.Direction = sdVertical
     BitmapOptions.Proportional = True
+    ParentFont = False
   end
   object BCImageButton3: TBCImageButton
-    Left = 32
-    Height = 55
-    Top = 143
-    Width = 274
+    Left = 24
+    Height = 41
+    Top = 107
+    Width = 206
     Anchors = [akTop, akLeft, akRight]
     BitmapFile = 'sample_3.png'
     BitmapOptions.AutoDetectRepeat = True
@@ -53,12 +56,13 @@ object Form1: TForm1
     BitmapOptions.Direction = sdVertical
     BitmapOptions.ResampleMode = rmSimpleStretch
     Caption = 'BCImageButton3'
+    ParentFont = False
   end
   object BCImageButton4: TBCImageButton
-    Left = 32
-    Height = 55
-    Top = 206
-    Width = 274
+    Left = 24
+    Height = 41
+    Top = 154
+    Width = 206
     Anchors = [akTop, akLeft, akRight]
     BitmapFile = 'sample_4.png'
     BitmapOptions.AutoDetectRepeat = True
@@ -69,12 +73,13 @@ object Form1: TForm1
     BitmapOptions.Direction = sdVertical
     BitmapOptions.ResampleMode = rmSimpleStretch
     Caption = 'BCImageButton4'
+    ParentFont = False
   end
   object BCImageButton5: TBCImageButton
-    Left = 32
-    Height = 55
-    Top = 270
-    Width = 274
+    Left = 24
+    Height = 41
+    Top = 202
+    Width = 206
     Anchors = [akTop, akLeft, akRight]
     BitmapFile = 'sample_5.png'
     BitmapOptions.AutoDetectRepeat = True
@@ -84,15 +89,17 @@ object Form1: TForm1
     BitmapOptions.MarginLeft = 4
     BitmapOptions.Direction = sdVertical
     Caption = 'BCImageButton5'
+    ParentFont = False
   end
   object BCImageButton6: TBCImageButton
-    Left = 32
-    Height = 55
-    Top = 334
-    Width = 274
+    Left = 24
+    Height = 41
+    Top = 250
+    Width = 206
     Anchors = [akTop, akLeft, akRight]
     Animation = False
     BitmapOptions.Direction = sdVertical
     Caption = 'BCImageButton6'
+    ParentFont = False
   end
 end

+ 7 - 0
test/test_bccontrols/test_bcimagebutton/unit1.pas

@@ -39,6 +39,13 @@ implementation
 
 procedure TForm1.FormCreate(Sender: TObject);
 begin
+  BCImageButton1.BitmapFile := Application.Location + BCImageButton1.BitmapFile;
+  BCImageButton2.BitmapFile := Application.Location + BCImageButton2.BitmapFile;
+  BCImageButton3.BitmapFile := Application.Location + BCImageButton3.BitmapFile;
+  BCImageButton4.BitmapFile := Application.Location + BCImageButton4.BitmapFile;
+  BCImageButton5.BitmapFile := Application.Location + BCImageButton5.BitmapFile;
+  BCImageButton6.BitmapFile := Application.Location + BCImageButton6.BitmapFile;
+
   BCImageButton1.LoadFromBitmapFile;
   BCImageButton2.LoadFromBitmapFile;
   BCImageButton2.TextVisible := False;

+ 106 - 18
test/test_bccontrols/test_bctoolbar/test_bctoolbar.lpi

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <CONFIG>
   <ProjectOptions>
-    <Version Value="9"/>
+    <Version Value="11"/>
     <PathDelim Value="\"/>
     <General>
       <SessionStorage Value="InProjectDir"/>
@@ -9,24 +9,99 @@
       <Title Value="test_bctoolbar"/>
       <ResourceType Value="res"/>
       <UseXPManifest Value="True"/>
-      <Icon Value="0"/>
     </General>
     <i18n>
       <EnableI18N LFM="False"/>
     </i18n>
-    <VersionInfo>
-      <StringTable ProductVersion=""/>
-    </VersionInfo>
-    <BuildModes Count="1">
-      <Item1 Name="Default" Default="True"/>
+    <BuildModes Count="3">
+      <Item1 Name="Debug" Default="True"/>
+      <Item2 Name="Release">
+        <CompilerOptions>
+          <Version Value="11"/>
+          <PathDelim Value="\"/>
+          <Target>
+            <Filename Value="test_bctoolbar"/>
+          </Target>
+          <SearchPaths>
+            <IncludeFiles Value="$(ProjOutDir)"/>
+            <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
+          </SearchPaths>
+          <CodeGeneration>
+            <SmartLinkUnit Value="True"/>
+            <Optimizations>
+              <OptimizationLevel Value="3"/>
+            </Optimizations>
+          </CodeGeneration>
+          <Linking>
+            <Debugging>
+              <GenerateDebugInfo Value="False"/>
+            </Debugging>
+            <LinkSmart Value="True"/>
+            <Options>
+              <Win32>
+                <GraphicApplication Value="True"/>
+              </Win32>
+            </Options>
+          </Linking>
+        </CompilerOptions>
+      </Item2>
+      <Item3 Name="Debug macOS 64">
+        <MacroValues Count="1">
+          <Macro1 Name="LCLWidgetType" Value="cocoa"/>
+        </MacroValues>
+        <CompilerOptions>
+          <Version Value="11"/>
+          <PathDelim Value="\"/>
+          <Target>
+            <Filename Value="test_bctoolbar"/>
+          </Target>
+          <SearchPaths>
+            <IncludeFiles Value="$(ProjOutDir)"/>
+            <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
+          </SearchPaths>
+          <Parsing>
+            <SyntaxOptions>
+              <IncludeAssertionCode Value="True"/>
+            </SyntaxOptions>
+          </Parsing>
+          <CodeGeneration>
+            <Checks>
+              <IOChecks Value="True"/>
+              <RangeChecks Value="True"/>
+              <OverflowChecks Value="True"/>
+              <StackChecks Value="True"/>
+            </Checks>
+            <VerifyObjMethodCallValidity Value="True"/>
+            <TargetCPU Value="x86_64"/>
+            <TargetOS Value="darwin"/>
+          </CodeGeneration>
+          <Linking>
+            <Debugging>
+              <DebugInfoType Value="dsDwarf2Set"/>
+              <UseHeaptrc Value="True"/>
+              <TrashVariables Value="True"/>
+              <UseExternalDbgSyms Value="True"/>
+            </Debugging>
+            <Options>
+              <Win32>
+                <GraphicApplication Value="True"/>
+              </Win32>
+            </Options>
+          </Linking>
+        </CompilerOptions>
+      </Item3>
+      <SharedMatrixOptions Count="1">
+        <Item1 ID="610139107843" Modes="Debug macOS 64" Type="IDEMacro" MacroName="LCLWidgetType" Value="cocoa"/>
+      </SharedMatrixOptions>
     </BuildModes>
     <PublishOptions>
       <Version Value="2"/>
     </PublishOptions>
     <RunParams>
-      <local>
-        <FormatVersion Value="1"/>
-      </local>
+      <FormatVersion Value="2"/>
+      <Modes Count="1">
+        <Mode0 Name="default"/>
+      </Modes>
     </RunParams>
     <RequiredPackages Count="2">
       <Item1>
@@ -40,14 +115,13 @@
       <Unit0>
         <Filename Value="test_bctoolbar.lpr"/>
         <IsPartOfProject Value="True"/>
-        <UnitName Value="test_bctoolbar"/>
       </Unit0>
       <Unit1>
         <Filename Value="umain.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="Form1"/>
+        <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-        <UnitName Value="umain"/>
       </Unit1>
     </Units>
   </ProjectOptions>
@@ -61,19 +135,33 @@
       <IncludeFiles Value="$(ProjOutDir)"/>
       <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
     </SearchPaths>
+    <Parsing>
+      <SyntaxOptions>
+        <IncludeAssertionCode Value="True"/>
+      </SyntaxOptions>
+    </Parsing>
+    <CodeGeneration>
+      <Checks>
+        <IOChecks Value="True"/>
+        <RangeChecks Value="True"/>
+        <OverflowChecks Value="True"/>
+        <StackChecks Value="True"/>
+      </Checks>
+      <VerifyObjMethodCallValidity Value="True"/>
+    </CodeGeneration>
     <Linking>
+      <Debugging>
+        <DebugInfoType Value="dsDwarf2Set"/>
+        <UseHeaptrc Value="True"/>
+        <TrashVariables Value="True"/>
+        <UseExternalDbgSyms Value="True"/>
+      </Debugging>
       <Options>
         <Win32>
           <GraphicApplication Value="True"/>
         </Win32>
       </Options>
     </Linking>
-    <Other>
-      <CompilerMessages>
-        <MsgFileName Value=""/>
-      </CompilerMessages>
-      <CompilerPath Value="$(CompPath)"/>
-    </Other>
   </CompilerOptions>
   <Debugging>
     <Exceptions Count="3">

+ 106 - 17
test/test_bccontrols/test_bctrackbarupdown/ptestupdown.lpi

@@ -1,7 +1,7 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <CONFIG>
   <ProjectOptions>
-    <Version Value="9"/>
+    <Version Value="11"/>
     <PathDelim Value="\"/>
     <General>
       <SessionStorage Value="InProjectDir"/>
@@ -14,11 +14,86 @@
     <i18n>
       <EnableI18N LFM="False"/>
     </i18n>
-    <VersionInfo>
-      <StringTable ProductVersion=""/>
-    </VersionInfo>
-    <BuildModes Count="1">
-      <Item1 Name="Default" Default="True"/>
+    <BuildModes Count="3">
+      <Item1 Name="Debug" Default="True"/>
+      <Item2 Name="Release">
+        <CompilerOptions>
+          <Version Value="11"/>
+          <PathDelim Value="\"/>
+          <Target>
+            <Filename Value="ptestupdown"/>
+          </Target>
+          <SearchPaths>
+            <IncludeFiles Value="$(ProjOutDir)"/>
+            <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
+          </SearchPaths>
+          <CodeGeneration>
+            <SmartLinkUnit Value="True"/>
+            <Optimizations>
+              <OptimizationLevel Value="3"/>
+            </Optimizations>
+          </CodeGeneration>
+          <Linking>
+            <Debugging>
+              <GenerateDebugInfo Value="False"/>
+            </Debugging>
+            <LinkSmart Value="True"/>
+            <Options>
+              <Win32>
+                <GraphicApplication Value="True"/>
+              </Win32>
+            </Options>
+          </Linking>
+        </CompilerOptions>
+      </Item2>
+      <Item3 Name="Debug macOS 64">
+        <MacroValues Count="1">
+          <Macro1 Name="LCLWidgetType" Value="cocoa"/>
+        </MacroValues>
+        <CompilerOptions>
+          <Version Value="11"/>
+          <PathDelim Value="\"/>
+          <Target>
+            <Filename Value="ptestupdown"/>
+          </Target>
+          <SearchPaths>
+            <IncludeFiles Value="$(ProjOutDir)"/>
+            <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
+          </SearchPaths>
+          <Parsing>
+            <SyntaxOptions>
+              <IncludeAssertionCode Value="True"/>
+            </SyntaxOptions>
+          </Parsing>
+          <CodeGeneration>
+            <Checks>
+              <IOChecks Value="True"/>
+              <RangeChecks Value="True"/>
+              <OverflowChecks Value="True"/>
+              <StackChecks Value="True"/>
+            </Checks>
+            <VerifyObjMethodCallValidity Value="True"/>
+            <TargetCPU Value="x86_64"/>
+            <TargetOS Value="darwin"/>
+          </CodeGeneration>
+          <Linking>
+            <Debugging>
+              <DebugInfoType Value="dsDwarf2Set"/>
+              <UseHeaptrc Value="True"/>
+              <TrashVariables Value="True"/>
+              <UseExternalDbgSyms Value="True"/>
+            </Debugging>
+            <Options>
+              <Win32>
+                <GraphicApplication Value="True"/>
+              </Win32>
+            </Options>
+          </Linking>
+        </CompilerOptions>
+      </Item3>
+      <SharedMatrixOptions Count="1">
+        <Item1 ID="705264493448" Modes="Debug macOS 64" Type="IDEMacro" MacroName="LCLWidgetType" Value="cocoa"/>
+      </SharedMatrixOptions>
     </BuildModes>
     <PublishOptions>
       <Version Value="2"/>
@@ -26,9 +101,10 @@
       <ExcludeFileFilter Value="*.(bak|ppu|o|so);*~;backup"/>
     </PublishOptions>
     <RunParams>
-      <local>
-        <FormatVersion Value="1"/>
-      </local>
+      <FormatVersion Value="2"/>
+      <Modes Count="1">
+        <Mode0 Name="default"/>
+      </Modes>
     </RunParams>
     <RequiredPackages Count="2">
       <Item1>
@@ -42,7 +118,6 @@
       <Unit0>
         <Filename Value="ptestupdown.lpr"/>
         <IsPartOfProject Value="True"/>
-        <UnitName Value="ptestupdown"/>
       </Unit0>
       <Unit1>
         <Filename Value="unit1.pas"/>
@@ -64,19 +139,33 @@
       <IncludeFiles Value="$(ProjOutDir)"/>
       <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
     </SearchPaths>
+    <Parsing>
+      <SyntaxOptions>
+        <IncludeAssertionCode Value="True"/>
+      </SyntaxOptions>
+    </Parsing>
+    <CodeGeneration>
+      <Checks>
+        <IOChecks Value="True"/>
+        <RangeChecks Value="True"/>
+        <OverflowChecks Value="True"/>
+        <StackChecks Value="True"/>
+      </Checks>
+      <VerifyObjMethodCallValidity Value="True"/>
+    </CodeGeneration>
     <Linking>
+      <Debugging>
+        <DebugInfoType Value="dsDwarf2Set"/>
+        <UseHeaptrc Value="True"/>
+        <TrashVariables Value="True"/>
+        <UseExternalDbgSyms Value="True"/>
+      </Debugging>
       <Options>
         <Win32>
           <GraphicApplication Value="True"/>
         </Win32>
       </Options>
     </Linking>
-    <Other>
-      <CompilerMessages>
-        <MsgFileName Value=""/>
-      </CompilerMessages>
-      <CompilerPath Value="$(CompPath)"/>
-    </Other>
   </CompilerOptions>
   <Debugging>
     <Exceptions Count="3">

+ 291 - 323
test/test_bccontrols/test_bctrackbarupdown/ptestupdown.lps

@@ -1,323 +1,291 @@
-<?xml version="1.0"?>
-<CONFIG>
-  <ProjectSession>
-    <PathDelim Value="\"/>
-    <Version Value="9"/>
-    <BuildModes Active="Default"/>
-    <Units Count="19">
-      <Unit0>
-        <Filename Value="ptestupdown.lpr"/>
-        <IsPartOfProject Value="True"/>
-        <UnitName Value="ptestupdown"/>
-        <UsageCount Value="25"/>
-      </Unit0>
-      <Unit1>
-        <Filename Value="unit1.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="Form1"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-        <UnitName Value="Unit1"/>
-        <IsVisibleTab Value="True"/>
-        <EditorIndex Value="0"/>
-        <WindowIndex Value="0"/>
-        <TopLine Value="18"/>
-        <CursorPos X="63" Y="42"/>
-        <UsageCount Value="25"/>
-        <Loaded Value="True"/>
-        <LoadedDesigner Value="True"/>
-      </Unit1>
-      <Unit2>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <UnitName Value="BCTrackbarUpdown"/>
-        <EditorIndex Value="15"/>
-        <WindowIndex Value="0"/>
-        <TopLine Value="1"/>
-        <CursorPos X="1" Y="1"/>
-        <UsageCount Value="11"/>
-        <Loaded Value="True"/>
-      </Unit2>
-      <Unit3>
-        <Filename Value="..\..\..\bcbutton.pas"/>
-        <UnitName Value="BCButton"/>
-        <EditorIndex Value="2"/>
-        <WindowIndex Value="0"/>
-        <TopLine Value="688"/>
-        <CursorPos X="39" Y="700"/>
-        <UsageCount Value="11"/>
-        <Loaded Value="True"/>
-      </Unit3>
-      <Unit4>
-        <Filename Value="..\..\..\bctools.pas"/>
-        <UnitName Value="BCTools"/>
-        <EditorIndex Value="7"/>
-        <WindowIndex Value="0"/>
-        <TopLine Value="81"/>
-        <CursorPos X="50" Y="96"/>
-        <UsageCount Value="11"/>
-        <Loaded Value="True"/>
-      </Unit4>
-      <Unit5>
-        <Filename Value="..\..\..\bctypes.pas"/>
-        <UnitName Value="BCTypes"/>
-        <EditorIndex Value="14"/>
-        <WindowIndex Value="0"/>
-        <TopLine Value="67"/>
-        <CursorPos X="14" Y="85"/>
-        <UsageCount Value="11"/>
-        <Loaded Value="True"/>
-      </Unit5>
-      <Unit6>
-        <Filename Value="C:\lazarus\fpc\2.6.2\source\rtl\objpas\types.pp"/>
-        <UnitName Value="types"/>
-        <EditorIndex Value="16"/>
-        <WindowIndex Value="0"/>
-        <TopLine Value="274"/>
-        <CursorPos X="10" Y="293"/>
-        <UsageCount Value="11"/>
-        <Loaded Value="True"/>
-      </Unit6>
-      <Unit7>
-        <Filename Value="C:\lazarus\lcl\include\control.inc"/>
-        <EditorIndex Value="1"/>
-        <WindowIndex Value="0"/>
-        <TopLine Value="2093"/>
-        <CursorPos X="1" Y="2112"/>
-        <UsageCount Value="11"/>
-        <Loaded Value="True"/>
-      </Unit7>
-      <Unit8>
-        <Filename Value="C:\lazarus\lcl\include\wincontrol.inc"/>
-        <WindowIndex Value="0"/>
-        <TopLine Value="5305"/>
-        <CursorPos X="1" Y="5323"/>
-        <UsageCount Value="10"/>
-      </Unit8>
-      <Unit9>
-        <Filename Value="..\..\..\bcbasectrls.pas"/>
-        <UnitName Value="BCBaseCtrls"/>
-        <EditorIndex Value="13"/>
-        <WindowIndex Value="0"/>
-        <TopLine Value="243"/>
-        <CursorPos X="1" Y="255"/>
-        <UsageCount Value="11"/>
-        <Loaded Value="True"/>
-      </Unit9>
-      <Unit10>
-        <Filename Value="..\..\..\bclabel.pas"/>
-        <UnitName Value="BCLabel"/>
-        <EditorIndex Value="3"/>
-        <WindowIndex Value="0"/>
-        <TopLine Value="56"/>
-        <CursorPos X="54" Y="68"/>
-        <UsageCount Value="10"/>
-        <Loaded Value="True"/>
-      </Unit10>
-      <Unit11>
-        <Filename Value="..\..\..\bcpanel.pas"/>
-        <UnitName Value="BCPanel"/>
-        <EditorIndex Value="4"/>
-        <WindowIndex Value="0"/>
-        <TopLine Value="407"/>
-        <CursorPos X="1" Y="428"/>
-        <UsageCount Value="10"/>
-        <Loaded Value="True"/>
-      </Unit11>
-      <Unit12>
-        <Filename Value="..\..\..\..\lazpaintsvn\bgrabitmap\bgradefaultbitmap.pas"/>
-        <UnitName Value="BGRADefaultBitmap"/>
-        <EditorIndex Value="10"/>
-        <WindowIndex Value="0"/>
-        <TopLine Value="350"/>
-        <CursorPos X="15" Y="367"/>
-        <UsageCount Value="10"/>
-        <Loaded Value="True"/>
-      </Unit12>
-      <Unit13>
-        <Filename Value="C:\lazarus\lcl\graphics.pp"/>
-        <UnitName Value="Graphics"/>
-        <EditorIndex Value="8"/>
-        <WindowIndex Value="0"/>
-        <TopLine Value="2540"/>
-        <CursorPos X="1" Y="2558"/>
-        <UsageCount Value="10"/>
-        <Loaded Value="True"/>
-      </Unit13>
-      <Unit14>
-        <Filename Value="..\..\..\..\lazpaintsvn\bgrabitmap\bgrabitmaptypes.pas"/>
-        <UnitName Value="BGRABitmapTypes"/>
-        <EditorIndex Value="9"/>
-        <WindowIndex Value="0"/>
-        <TopLine Value="612"/>
-        <CursorPos X="16" Y="629"/>
-        <UsageCount Value="10"/>
-        <Loaded Value="True"/>
-      </Unit14>
-      <Unit15>
-        <Filename Value="..\..\..\..\lazpaintsvn\bgrabitmap\bgrapolygon.pas"/>
-        <UnitName Value="BGRAPolygon"/>
-        <EditorIndex Value="11"/>
-        <WindowIndex Value="0"/>
-        <TopLine Value="1228"/>
-        <CursorPos X="46" Y="1247"/>
-        <UsageCount Value="10"/>
-        <Loaded Value="True"/>
-      </Unit15>
-      <Unit16>
-        <Filename Value="..\..\..\..\lazpaintsvn\bgrabitmap\bgrafillinfo.pas"/>
-        <UnitName Value="BGRAFillInfo"/>
-        <EditorIndex Value="12"/>
-        <WindowIndex Value="0"/>
-        <TopLine Value="109"/>
-        <CursorPos X="3" Y="121"/>
-        <UsageCount Value="10"/>
-        <Loaded Value="True"/>
-      </Unit16>
-      <Unit17>
-        <Filename Value="..\..\..\..\lazpaintsvn\bgrabitmap\bgracanvas.pas"/>
-        <UnitName Value="BGRACanvas"/>
-        <EditorIndex Value="6"/>
-        <WindowIndex Value="0"/>
-        <TopLine Value="1102"/>
-        <CursorPos X="3" Y="1110"/>
-        <UsageCount Value="10"/>
-        <Loaded Value="True"/>
-      </Unit17>
-      <Unit18>
-        <Filename Value="..\..\..\bgrashape.pas"/>
-        <UnitName Value="BGRAShape"/>
-        <EditorIndex Value="5"/>
-        <WindowIndex Value="0"/>
-        <TopLine Value="52"/>
-        <CursorPos X="32" Y="64"/>
-        <UsageCount Value="10"/>
-        <Loaded Value="True"/>
-      </Unit18>
-    </Units>
-    <General>
-      <ActiveWindowIndexAtStart Value="0"/>
-    </General>
-    <JumpHistory Count="30" HistoryIndex="29">
-      <Position1>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="599" Column="47" TopLine="567"/>
-      </Position1>
-      <Position2>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="327" Column="41" TopLine="307"/>
-      </Position2>
-      <Position3>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="331" Column="1" TopLine="315"/>
-      </Position3>
-      <Position4>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="333" Column="8" TopLine="315"/>
-      </Position4>
-      <Position5>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="375" Column="13" TopLine="344"/>
-      </Position5>
-      <Position6>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="382" Column="20" TopLine="351"/>
-      </Position6>
-      <Position7>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="385" Column="29" TopLine="354"/>
-      </Position7>
-      <Position8>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="386" Column="48" TopLine="355"/>
-      </Position8>
-      <Position9>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="603" Column="33" TopLine="593"/>
-      </Position9>
-      <Position10>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="645" Column="54" TopLine="623"/>
-      </Position10>
-      <Position11>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="444" Column="66" TopLine="427"/>
-      </Position11>
-      <Position12>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="1" Column="1" TopLine="1"/>
-      </Position12>
-      <Position13>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="341" Column="24" TopLine="309"/>
-      </Position13>
-      <Position14>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="402" Column="37" TopLine="392"/>
-      </Position14>
-      <Position15>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="423" Column="42" TopLine="392"/>
-      </Position15>
-      <Position16>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="445" Column="3" TopLine="430"/>
-      </Position16>
-      <Position17>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="1" Column="1" TopLine="1"/>
-      </Position17>
-      <Position18>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="33" Column="11" TopLine="1"/>
-      </Position18>
-      <Position19>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="82" Column="46" TopLine="51"/>
-      </Position19>
-      <Position20>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="270" Column="12" TopLine="238"/>
-      </Position20>
-      <Position21>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="271" Column="9" TopLine="239"/>
-      </Position21>
-      <Position22>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="358" Column="12" TopLine="326"/>
-      </Position22>
-      <Position23>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="443" Column="12" TopLine="412"/>
-      </Position23>
-      <Position24>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="340" Column="48" TopLine="320"/>
-      </Position24>
-      <Position25>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="421" Column="45" TopLine="384"/>
-      </Position25>
-      <Position26>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="718" Column="5" TopLine="680"/>
-      </Position26>
-      <Position27>
-        <Filename Value="unit1.pas"/>
-        <Caret Line="45" Column="63" TopLine="16"/>
-      </Position27>
-      <Position28>
-        <Filename Value="unit1.pas"/>
-        <Caret Line="44" Column="63" TopLine="20"/>
-      </Position28>
-      <Position29>
-        <Filename Value="unit1.pas"/>
-        <Caret Line="43" Column="63" TopLine="19"/>
-      </Position29>
-      <Position30>
-        <Filename Value="unit1.pas"/>
-        <Caret Line="42" Column="63" TopLine="18"/>
-      </Position30>
-    </JumpHistory>
-  </ProjectSession>
-</CONFIG>
+<?xml version="1.0" encoding="UTF-8"?>
+<CONFIG>
+  <ProjectSession>
+    <PathDelim Value="\"/>
+    <Version Value="11"/>
+    <BuildModes Active="Debug macOS 64"/>
+    <Units Count="19">
+      <Unit0>
+        <Filename Value="ptestupdown.lpr"/>
+        <IsPartOfProject Value="True"/>
+        <UsageCount Value="25"/>
+      </Unit0>
+      <Unit1>
+        <Filename Value="unit1.pas"/>
+        <IsPartOfProject Value="True"/>
+        <ComponentName Value="Form1"/>
+        <HasResources Value="True"/>
+        <ResourceBaseClass Value="Form"/>
+        <UnitName Value="Unit1"/>
+        <IsVisibleTab Value="True"/>
+        <TopLine Value="18"/>
+        <CursorPos X="63" Y="42"/>
+        <UsageCount Value="25"/>
+        <Loaded Value="True"/>
+        <LoadedDesigner Value="True"/>
+      </Unit1>
+      <Unit2>
+        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
+        <UnitName Value="BCTrackbarUpdown"/>
+        <EditorIndex Value="8"/>
+        <UsageCount Value="11"/>
+        <Loaded Value="True"/>
+      </Unit2>
+      <Unit3>
+        <Filename Value="..\..\..\bcbutton.pas"/>
+        <UnitName Value="BCButton"/>
+        <EditorIndex Value="1"/>
+        <TopLine Value="688"/>
+        <CursorPos X="39" Y="700"/>
+        <UsageCount Value="11"/>
+        <Loaded Value="True"/>
+      </Unit3>
+      <Unit4>
+        <Filename Value="..\..\..\bctools.pas"/>
+        <UnitName Value="BCTools"/>
+        <EditorIndex Value="5"/>
+        <TopLine Value="81"/>
+        <CursorPos X="50" Y="96"/>
+        <UsageCount Value="11"/>
+        <Loaded Value="True"/>
+      </Unit4>
+      <Unit5>
+        <Filename Value="..\..\..\bctypes.pas"/>
+        <UnitName Value="BCTypes"/>
+        <EditorIndex Value="7"/>
+        <TopLine Value="67"/>
+        <CursorPos X="14" Y="85"/>
+        <UsageCount Value="11"/>
+        <Loaded Value="True"/>
+      </Unit5>
+      <Unit6>
+        <Filename Value="C:\lazarus\fpc\2.6.2\source\rtl\objpas\types.pp"/>
+        <EditorIndex Value="-1"/>
+        <TopLine Value="274"/>
+        <CursorPos X="10" Y="293"/>
+        <UsageCount Value="11"/>
+      </Unit6>
+      <Unit7>
+        <Filename Value="C:\lazarus\lcl\include\control.inc"/>
+        <EditorIndex Value="-1"/>
+        <TopLine Value="2093"/>
+        <CursorPos Y="2112"/>
+        <UsageCount Value="11"/>
+      </Unit7>
+      <Unit8>
+        <Filename Value="C:\lazarus\lcl\include\wincontrol.inc"/>
+        <TopLine Value="5305"/>
+        <CursorPos Y="5323"/>
+        <UsageCount Value="10"/>
+      </Unit8>
+      <Unit9>
+        <Filename Value="..\..\..\bcbasectrls.pas"/>
+        <UnitName Value="BCBaseCtrls"/>
+        <EditorIndex Value="6"/>
+        <TopLine Value="243"/>
+        <CursorPos Y="255"/>
+        <UsageCount Value="11"/>
+        <Loaded Value="True"/>
+      </Unit9>
+      <Unit10>
+        <Filename Value="..\..\..\bclabel.pas"/>
+        <UnitName Value="BCLabel"/>
+        <EditorIndex Value="2"/>
+        <TopLine Value="56"/>
+        <CursorPos X="54" Y="68"/>
+        <UsageCount Value="10"/>
+        <Loaded Value="True"/>
+      </Unit10>
+      <Unit11>
+        <Filename Value="..\..\..\bcpanel.pas"/>
+        <UnitName Value="BCPanel"/>
+        <EditorIndex Value="3"/>
+        <TopLine Value="407"/>
+        <CursorPos Y="428"/>
+        <UsageCount Value="10"/>
+        <Loaded Value="True"/>
+      </Unit11>
+      <Unit12>
+        <Filename Value="..\..\..\..\lazpaintsvn\bgrabitmap\bgradefaultbitmap.pas"/>
+        <UnitName Value="BGRADefaultBitmap"/>
+        <EditorIndex Value="-1"/>
+        <TopLine Value="350"/>
+        <CursorPos X="15" Y="367"/>
+        <UsageCount Value="10"/>
+      </Unit12>
+      <Unit13>
+        <Filename Value="C:\lazarus\lcl\graphics.pp"/>
+        <UnitName Value="Graphics"/>
+        <EditorIndex Value="-1"/>
+        <TopLine Value="2540"/>
+        <CursorPos Y="2558"/>
+        <UsageCount Value="10"/>
+      </Unit13>
+      <Unit14>
+        <Filename Value="..\..\..\..\lazpaintsvn\bgrabitmap\bgrabitmaptypes.pas"/>
+        <UnitName Value="BGRABitmapTypes"/>
+        <EditorIndex Value="-1"/>
+        <TopLine Value="612"/>
+        <CursorPos X="16" Y="629"/>
+        <UsageCount Value="10"/>
+      </Unit14>
+      <Unit15>
+        <Filename Value="..\..\..\..\lazpaintsvn\bgrabitmap\bgrapolygon.pas"/>
+        <UnitName Value="BGRAPolygon"/>
+        <EditorIndex Value="-1"/>
+        <TopLine Value="1228"/>
+        <CursorPos X="46" Y="1247"/>
+        <UsageCount Value="10"/>
+      </Unit15>
+      <Unit16>
+        <Filename Value="..\..\..\..\lazpaintsvn\bgrabitmap\bgrafillinfo.pas"/>
+        <UnitName Value="BGRAFillInfo"/>
+        <EditorIndex Value="-1"/>
+        <TopLine Value="109"/>
+        <CursorPos X="3" Y="121"/>
+        <UsageCount Value="10"/>
+      </Unit16>
+      <Unit17>
+        <Filename Value="..\..\..\..\lazpaintsvn\bgrabitmap\bgracanvas.pas"/>
+        <UnitName Value="BGRACanvas"/>
+        <EditorIndex Value="-1"/>
+        <TopLine Value="1102"/>
+        <CursorPos X="3" Y="1110"/>
+        <UsageCount Value="10"/>
+      </Unit17>
+      <Unit18>
+        <Filename Value="..\..\..\bgrashape.pas"/>
+        <UnitName Value="BGRAShape"/>
+        <EditorIndex Value="4"/>
+        <TopLine Value="52"/>
+        <CursorPos X="32" Y="64"/>
+        <UsageCount Value="10"/>
+        <Loaded Value="True"/>
+      </Unit18>
+    </Units>
+    <JumpHistory Count="30" HistoryIndex="29">
+      <Position1>
+        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
+        <Caret Line="599" Column="47" TopLine="567"/>
+      </Position1>
+      <Position2>
+        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
+        <Caret Line="327" Column="41" TopLine="307"/>
+      </Position2>
+      <Position3>
+        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
+        <Caret Line="331" TopLine="315"/>
+      </Position3>
+      <Position4>
+        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
+        <Caret Line="333" Column="8" TopLine="315"/>
+      </Position4>
+      <Position5>
+        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
+        <Caret Line="375" Column="13" TopLine="344"/>
+      </Position5>
+      <Position6>
+        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
+        <Caret Line="382" Column="20" TopLine="351"/>
+      </Position6>
+      <Position7>
+        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
+        <Caret Line="385" Column="29" TopLine="354"/>
+      </Position7>
+      <Position8>
+        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
+        <Caret Line="386" Column="48" TopLine="355"/>
+      </Position8>
+      <Position9>
+        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
+        <Caret Line="603" Column="33" TopLine="593"/>
+      </Position9>
+      <Position10>
+        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
+        <Caret Line="645" Column="54" TopLine="623"/>
+      </Position10>
+      <Position11>
+        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
+        <Caret Line="444" Column="66" TopLine="427"/>
+      </Position11>
+      <Position12>
+        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
+      </Position12>
+      <Position13>
+        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
+        <Caret Line="341" Column="24" TopLine="309"/>
+      </Position13>
+      <Position14>
+        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
+        <Caret Line="402" Column="37" TopLine="392"/>
+      </Position14>
+      <Position15>
+        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
+        <Caret Line="423" Column="42" TopLine="392"/>
+      </Position15>
+      <Position16>
+        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
+        <Caret Line="445" Column="3" TopLine="430"/>
+      </Position16>
+      <Position17>
+        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
+      </Position17>
+      <Position18>
+        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
+        <Caret Line="33" Column="11"/>
+      </Position18>
+      <Position19>
+        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
+        <Caret Line="82" Column="46" TopLine="51"/>
+      </Position19>
+      <Position20>
+        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
+        <Caret Line="270" Column="12" TopLine="238"/>
+      </Position20>
+      <Position21>
+        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
+        <Caret Line="271" Column="9" TopLine="239"/>
+      </Position21>
+      <Position22>
+        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
+        <Caret Line="358" Column="12" TopLine="326"/>
+      </Position22>
+      <Position23>
+        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
+        <Caret Line="443" Column="12" TopLine="412"/>
+      </Position23>
+      <Position24>
+        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
+        <Caret Line="340" Column="48" TopLine="320"/>
+      </Position24>
+      <Position25>
+        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
+        <Caret Line="421" Column="45" TopLine="384"/>
+      </Position25>
+      <Position26>
+        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
+        <Caret Line="718" Column="5" TopLine="680"/>
+      </Position26>
+      <Position27>
+        <Filename Value="unit1.pas"/>
+        <Caret Line="45" Column="63" TopLine="16"/>
+      </Position27>
+      <Position28>
+        <Filename Value="unit1.pas"/>
+        <Caret Line="44" Column="63" TopLine="20"/>
+      </Position28>
+      <Position29>
+        <Filename Value="unit1.pas"/>
+        <Caret Line="43" Column="63" TopLine="19"/>
+      </Position29>
+      <Position30>
+        <Filename Value="unit1.pas"/>
+        <Caret Line="42" Column="63" TopLine="18"/>
+      </Position30>
+    </JumpHistory>
+    <RunParams>
+      <FormatVersion Value="2"/>
+      <Modes Count="0" ActiveMode="default"/>
+    </RunParams>
+  </ProjectSession>
+</CONFIG>

二进制
test/test_bccontrols/test_bctrackbarupdown/ptestupdown.res


+ 54 - 8
test/test_bccontrols/test_bcxbutton/test_bcxbutton.lpi

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <CONFIG>
   <ProjectOptions>
-    <Version Value="9"/>
+    <Version Value="11"/>
     <PathDelim Value="\"/>
     <General>
       <SessionStorage Value="InProjectDir"/>
@@ -13,10 +13,7 @@
     <i18n>
       <EnableI18N LFM="False"/>
     </i18n>
-    <VersionInfo>
-      <StringTable ProductVersion=""/>
-    </VersionInfo>
-    <BuildModes Count="2">
+    <BuildModes Count="3">
       <Item1 Name="Debug" Default="True"/>
       <Item2 Name="Release">
         <CompilerOptions>
@@ -50,6 +47,54 @@
           </Linking>
         </CompilerOptions>
       </Item2>
+      <Item3 Name="Debug macOS 64">
+        <MacroValues Count="1">
+          <Macro1 Name="LCLWidgetType" Value="cocoa"/>
+        </MacroValues>
+        <CompilerOptions>
+          <Version Value="11"/>
+          <PathDelim Value="\"/>
+          <Target>
+            <Filename Value="test_bcxbutton"/>
+          </Target>
+          <SearchPaths>
+            <IncludeFiles Value="$(ProjOutDir)"/>
+            <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
+          </SearchPaths>
+          <Parsing>
+            <SyntaxOptions>
+              <IncludeAssertionCode Value="True"/>
+            </SyntaxOptions>
+          </Parsing>
+          <CodeGeneration>
+            <Checks>
+              <IOChecks Value="True"/>
+              <RangeChecks Value="True"/>
+              <OverflowChecks Value="True"/>
+              <StackChecks Value="True"/>
+            </Checks>
+            <Optimizations>
+              <VariablesInRegisters Value="True"/>
+            </Optimizations>
+          </CodeGeneration>
+          <Linking>
+            <Debugging>
+              <DebugInfoType Value="dsDwarf2Set"/>
+              <UseHeaptrc Value="True"/>
+              <StripSymbols Value="True"/>
+              <UseExternalDbgSyms Value="True"/>
+            </Debugging>
+            <Options>
+              <Win32>
+                <GraphicApplication Value="True"/>
+              </Win32>
+            </Options>
+          </Linking>
+        </CompilerOptions>
+      </Item3>
+      <SharedMatrixOptions Count="1">
+        <Item1 ID="612023007301" Modes="Debug macOS 64" Type="IDEMacro" MacroName="LCLWidgetType" Value="cocoa"/>
+      </SharedMatrixOptions>
     </BuildModes>
     <PublishOptions>
       <Version Value="2"/>
@@ -57,9 +102,10 @@
       <ExcludeFileFilter Value="*.(bak|ppu|o|so);*~;backup"/>
     </PublishOptions>
     <RunParams>
-      <local>
-        <FormatVersion Value="1"/>
-      </local>
+      <FormatVersion Value="2"/>
+      <Modes Count="1">
+        <Mode0 Name="default"/>
+      </Modes>
     </RunParams>
     <RequiredPackages Count="2">
       <Item1>

+ 46 - 37
test/test_bccontrols/test_bcxbutton/utest.lfm

@@ -1,82 +1,91 @@
 object Form1: TForm1
   Left = 353
-  Height = 377
+  Height = 283
   Top = 169
-  Width = 491
+  Width = 368
   Caption = 'BCXButton'
-  ClientHeight = 377
-  ClientWidth = 491
+  ClientHeight = 283
+  ClientWidth = 368
+  DesignTimePPI = 72
   OnCreate = FormCreate
   OnDestroy = FormDestroy
-  LCLVersion = '1.6.0.4'
+  LCLVersion = '1.9.0.0'
   object vs1: TBGRAVirtualScreen
     Left = 0
-    Height = 377
+    Height = 283
     Top = 0
-    Width = 491
+    Width = 368
     OnRedraw = vs1Redraw
     Align = alClient
     Alignment = taLeftJustify
-    ClientHeight = 377
-    ClientWidth = 491
+    ClientHeight = 283
+    ClientWidth = 368
     Color = clWhite
     ParentColor = False
+    ParentFont = False
     TabOrder = 0
     object BCXButton2: TBCXButton
-      Left = 16
-      Height = 52
-      Top = 160
-      Width = 424
+      Left = 12
+      Height = 39
+      Top = 120
+      Width = 318
       OnRenderControl = BCXButton1RenderControl
       Caption = 'Button 2'
+      ParentFont = False
     end
     object BCXButton1: TBCXButton
-      Left = 16
-      Height = 40
-      Top = 8
-      Width = 136
+      Left = 12
+      Height = 30
+      Top = 6
+      Width = 102
       OnRenderControl = BCXButton1RenderControl
       Caption = 'Button 1'
+      ParentFont = False
     end
     object BCXButton3: TBCXButton
-      Left = 16
-      Height = 40
-      Top = 56
-      Width = 136
+      Left = 12
+      Height = 30
+      Top = 42
+      Width = 102
       OnRenderControl = BCXButton3RenderControl
       Caption = 'Button 3'
+      ParentFont = False
     end
     object BCXButton4: TBCXButton
-      Left = 16
-      Height = 40
-      Top = 104
-      Width = 136
+      Left = 12
+      Height = 30
+      Top = 78
+      Width = 102
       OnRenderControl = BCXButton3RenderControl
       Caption = 'Button 4'
+      ParentFont = False
     end
     object BCXButton5: TBCXButton
-      Left = 160
-      Height = 136
-      Top = 8
-      Width = 136
+      Left = 120
+      Height = 102
+      Top = 6
+      Width = 102
       OnRenderControl = BCXButton1RenderControl
       Caption = 'Button 5'
+      ParentFont = False
     end
     object BCXButton6: TBCXButton
-      Left = 304
-      Height = 136
-      Top = 8
-      Width = 136
+      Left = 228
+      Height = 102
+      Top = 6
+      Width = 102
       OnRenderControl = BCXButton1RenderControl
       Caption = 'Button 6'
+      ParentFont = False
     end
     object BCXButton7: TBCXButton
-      Left = 16
-      Height = 88
-      Top = 232
-      Width = 424
+      Left = 12
+      Height = 66
+      Top = 174
+      Width = 318
       OnRenderControl = BCXButton1RenderControl
       Caption = 'Button 7'
+      ParentFont = False
     end
   end
 end

+ 1 - 1
test/test_bccontrols/test_bcxbutton/utest.pas

@@ -239,7 +239,7 @@ procedure TForm1.FormCreate(Sender: TObject);
 begin
   BCXButton2.Enabled := False;
   BCXButton4.Enabled := False;
-  Image := TBGRABitmap.Create('Desert.jpg');
+  Image := TBGRABitmap.Create(Application.Location + 'Desert.jpg');
 end;
 
 procedure TForm1.FormDestroy(Sender: TObject);

+ 77 - 17
test/test_bccontrols/test_progressbar/test_progressbar.lpi

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <CONFIG>
   <ProjectOptions>
-    <Version Value="9"/>
+    <Version Value="11"/>
     <PathDelim Value="\"/>
     <General>
       <SessionStorage Value="InProjectDir"/>
@@ -9,24 +9,91 @@
       <Title Value="test_progressbar"/>
       <ResourceType Value="res"/>
       <UseXPManifest Value="True"/>
-      <Icon Value="0"/>
     </General>
     <i18n>
       <EnableI18N LFM="False"/>
     </i18n>
-    <VersionInfo>
-      <StringTable ProductVersion=""/>
-    </VersionInfo>
-    <BuildModes Count="1">
+    <BuildModes Count="3">
       <Item1 Name="Default" Default="True"/>
+      <Item2 Name="Debug">
+        <CompilerOptions>
+          <Version Value="11"/>
+          <PathDelim Value="\"/>
+          <Target>
+            <Filename Value="test_progressbar"/>
+          </Target>
+          <SearchPaths>
+            <IncludeFiles Value="$(ProjOutDir)"/>
+            <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
+          </SearchPaths>
+          <Parsing>
+            <SyntaxOptions>
+              <IncludeAssertionCode Value="True"/>
+            </SyntaxOptions>
+          </Parsing>
+          <CodeGeneration>
+            <Checks>
+              <IOChecks Value="True"/>
+              <RangeChecks Value="True"/>
+              <OverflowChecks Value="True"/>
+              <StackChecks Value="True"/>
+            </Checks>
+            <VerifyObjMethodCallValidity Value="True"/>
+          </CodeGeneration>
+          <Linking>
+            <Debugging>
+              <DebugInfoType Value="dsDwarf2Set"/>
+              <UseHeaptrc Value="True"/>
+              <TrashVariables Value="True"/>
+              <UseExternalDbgSyms Value="True"/>
+            </Debugging>
+            <Options>
+              <Win32>
+                <GraphicApplication Value="True"/>
+              </Win32>
+            </Options>
+          </Linking>
+        </CompilerOptions>
+      </Item2>
+      <Item3 Name="Default macOS 64">
+        <MacroValues Count="1">
+          <Macro1 Name="LCLWidgetType" Value="cocoa"/>
+        </MacroValues>
+        <CompilerOptions>
+          <Version Value="11"/>
+          <PathDelim Value="\"/>
+          <Target>
+            <Filename Value="test_progressbar"/>
+          </Target>
+          <SearchPaths>
+            <IncludeFiles Value="$(ProjOutDir)"/>
+            <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
+          </SearchPaths>
+          <CodeGeneration>
+            <TargetCPU Value="x86_64"/>
+            <TargetOS Value="darwin"/>
+          </CodeGeneration>
+          <Linking>
+            <Options>
+              <Win32>
+                <GraphicApplication Value="True"/>
+              </Win32>
+            </Options>
+          </Linking>
+        </CompilerOptions>
+      </Item3>
+      <SharedMatrixOptions Count="1">
+        <Item1 ID="242000272248" Modes="Default macOS 64" Type="IDEMacro" MacroName="LCLWidgetType" Value="cocoa"/>
+      </SharedMatrixOptions>
     </BuildModes>
     <PublishOptions>
       <Version Value="2"/>
     </PublishOptions>
     <RunParams>
-      <local>
-        <FormatVersion Value="1"/>
-      </local>
+      <FormatVersion Value="2"/>
+      <Modes Count="1">
+        <Mode0 Name="default"/>
+      </Modes>
     </RunParams>
     <RequiredPackages Count="2">
       <Item1>
@@ -40,14 +107,13 @@
       <Unit0>
         <Filename Value="test_progressbar.lpr"/>
         <IsPartOfProject Value="True"/>
-        <UnitName Value="test_progressbar"/>
       </Unit0>
       <Unit1>
         <Filename Value="umain.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="Form1"/>
+        <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-        <UnitName Value="umain"/>
       </Unit1>
     </Units>
   </ProjectOptions>
@@ -68,12 +134,6 @@
         </Win32>
       </Options>
     </Linking>
-    <Other>
-      <CompilerMessages>
-        <MsgFileName Value=""/>
-      </CompilerMessages>
-      <CompilerPath Value="$(CompPath)"/>
-    </Other>
   </CompilerOptions>
   <Debugging>
     <Exceptions Count="3">