removed-Facthreads from package

maked 64 bit compatible


git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@326 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
christian_u
2008-01-17 19:21:36 +00:00
parent ed26831b3c
commit 26824d4a01
2 changed files with 27 additions and 24 deletions

View File

@ -1,16 +1,14 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<CONFIG> <CONFIG>
<Package Version="2"> <Package Version="3">
<PathDelim Value="\"/>
<Name Value="virtualtreeslcl"/> <Name Value="virtualtreeslcl"/>
<Author Value="Joerg Thaler,Christian Ulrich"/> <Author Value="Joerg Thaler,Christian Ulrich"/>
<CompilerOptions> <CompilerOptions>
<Version Value="5"/> <Version Value="5"/>
<PathDelim Value="\"/>
<SearchPaths> <SearchPaths>
<IncludeFiles Value="..\"/> <IncludeFiles Value="../"/>
<OtherUnitFiles Value="..\"/> <OtherUnitFiles Value="../"/>
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths> </SearchPaths>
<CodeGeneration> <CodeGeneration>
<Generate Value="Faster"/> <Generate Value="Faster"/>
@ -37,27 +35,27 @@ specific language governing rights and limitations under the License.
<Version Major="4" Release="17" Build="25"/> <Version Major="4" Release="17" Build="25"/>
<Files Count="6"> <Files Count="6">
<Item1> <Item1>
<Filename Value="..\virtualTrees.lrs"/> <Filename Value="../virtualTrees.lrs"/>
<Type Value="LRS"/> <Type Value="LRS"/>
</Item1> </Item1>
<Item2> <Item2>
<Filename Value="..\virtualtrees.pas"/> <Filename Value="../virtualtrees.pas"/>
<UnitName Value="VirtualTrees"/> <UnitName Value="VirtualTrees"/>
</Item2> </Item2>
<Item3> <Item3>
<Filename Value="..\virtualdrawtree.pas"/> <Filename Value="../virtualdrawtree.pas"/>
<UnitName Value="VirtualDrawTree"/> <UnitName Value="VirtualDrawTree"/>
</Item3> </Item3>
<Item4> <Item4>
<Filename Value="..\virtualstringtree.pas"/> <Filename Value="../virtualstringtree.pas"/>
<UnitName Value="VirtualStringTree"/> <UnitName Value="VirtualStringTree"/>
</Item4> </Item4>
<Item5> <Item5>
<Filename Value="..\vtheaderpopup.pas"/> <Filename Value="../vtheaderpopup.pas"/>
<UnitName Value="VTHeaderPopup"/> <UnitName Value="VTHeaderPopup"/>
</Item5> </Item5>
<Item6> <Item6>
<Filename Value="..\vtregister.pas"/> <Filename Value="../vtregister.pas"/>
<HasRegisterProc Value="True"/> <HasRegisterProc Value="True"/>
<UnitName Value="VTRegister"/> <UnitName Value="VTRegister"/>
</Item6> </Item6>
@ -65,20 +63,17 @@ specific language governing rights and limitations under the License.
<Type Value="DesignTime"/> <Type Value="DesignTime"/>
<RequiredPkgs Count="2"> <RequiredPkgs Count="2">
<Item1> <Item1>
<PackageName Value="LCL"/> <PackageName Value="FCL"/>
</Item1> </Item1>
<Item2> <Item2>
<PackageName Value="FCL"/> <PackageName Value="LCL"/>
</Item2> </Item2>
</RequiredPkgs> </RequiredPkgs>
<UsageOptions> <UsageOptions>
<CustomOptions Value="-Facthreads <UnitPath Value="$(PkgOutDir)/"/>
"/>
<UnitPath Value="$(PkgOutDir)\"/>
</UsageOptions> </UsageOptions>
<PublishOptions> <PublishOptions>
<Version Value="2"/> <Version Value="2"/>
<DestinationDirectory Value="$(TestDir)\publishedpackage\"/>
<IgnoreBinaries Value="False"/> <IgnoreBinaries Value="False"/>
</PublishOptions> </PublishOptions>
</Package> </Package>

View File

@ -76,6 +76,14 @@ uses
// ,CommCtrl // image lists, common controls tree structures // ,CommCtrl // image lists, common controls tree structures
; ;
type
{$IFDEF CPU32}
PointerIncType = Cardinal;
{$ENDIF}
{$IFDEF CPU64}
PointerIncType = Int64;
{$ENDIF}
const const
VTVersion = '4.0.17'; VTVersion = '4.0.17';
VTTreeStreamVersion = 2; VTTreeStreamVersion = 2;
@ -2987,9 +2995,9 @@ begin
J := R; J := R;
P := TheArray[(L + R) shr 1]; P := TheArray[(L + R) shr 1];
repeat repeat
while Cardinal(TheArray[I]) < Cardinal(P) do while PointerIncType(TheArray[I]) < PointerIncType(P) do
Inc(I); Inc(I);
while Cardinal(TheArray[J]) > Cardinal(P) do while PointerIncType(TheArray[J]) > PointerIncType(P) do
Dec(J); Dec(J);
if I <= J then if I <= J then
begin begin
@ -3580,7 +3588,7 @@ begin exit;
if Height > 0 then // bottom-up DIB if Height > 0 then // bottom-up DIB
Row := Height - Row - 1; Row := Height - Row - 1;
// Return DWORD aligned address of the requested scanline. // Return DWORD aligned address of the requested scanline.
Integer(Result) := Integer(Bits) + Row * ((Width * 32 + 31) and not 31) div 8; // Integer(Result) := Integer(Bits) + Row * ((Width * 32 + 31) and not 31) div 8;
end; end;
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
@ -18388,7 +18396,7 @@ begin
if ([vsSelected, vsDisabled] * NewItems[I]^.States <> []) or if ([vsSelected, vsDisabled] * NewItems[I]^.States <> []) or
(Constrained and (Cardinal(FLastSelectionLevel) <> GetNodeLevel(NewItems[I]))) or (Constrained and (Cardinal(FLastSelectionLevel) <> GetNodeLevel(NewItems[I]))) or
(SiblingConstrained and (FRangeAnchor^.Parent <> NewItems[I]^.Parent)) then (SiblingConstrained and (FRangeAnchor^.Parent <> NewItems[I]^.Parent)) then
Inc(Cardinal(NewItems[I])) Inc(PointerIncType(NewItems[I]))
else else
Include(NewItems[I]^.States, vsSelected); Include(NewItems[I]^.States, vsSelected);
end; end;
@ -18418,7 +18426,7 @@ begin
// array and only the remaining new items must be inserted. // array and only the remaining new items must be inserted.
if CurrentEnd >= 0 then if CurrentEnd >= 0 then
begin begin
while (J >= 0) and (Cardinal(NewItems[J]) > Cardinal(FSelection[CurrentEnd])) do while (J >= 0) and (PointerIncType(NewItems[J]) > PointerIncType(FSelection[CurrentEnd])) do
begin begin
FSelection[CurrentEnd + J + 1] := NewItems[J]; FSelection[CurrentEnd + J + 1] := NewItems[J];
Dec(J); Dec(J);
@ -18774,7 +18782,7 @@ begin
if FindNodeInSelection(Node, Index, -1, -1) then if FindNodeInSelection(Node, Index, -1, -1) then
begin begin
Exclude(Node^.States, vsSelected); Exclude(Node^.States, vsSelected);
Inc(Cardinal(FSelection[Index])); Inc(PointerIncType(FSelection[Index]));
end; end;
end; end;