jvcllaz: Fix 64-bit issues with the new Jv*Viewer components (patch by Michal Gawrycki, issue #34104)

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6579 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2018-08-10 07:17:58 +00:00
parent 1da8569c84
commit c1d593b600
6 changed files with 41 additions and 48 deletions

View File

@ -33,7 +33,7 @@ unit MainFrm;
interface interface
uses uses
Windows, Messages, SysUtils, Classes, Graphics, Forms, Controls, SysUtils, Classes, Graphics, Forms, Controls,
Dialogs, StdCtrls, ExtCtrls, ImgList, ComCtrls, Menus, Dialogs, StdCtrls, ExtCtrls, ImgList, ComCtrls, Menus,
// if you have units that supports other image formats, add them here *before* including JvItemViewer // if you have units that supports other image formats, add them here *before* including JvItemViewer
// GraphicEx, // http://www.delphi-gems.com/Graphics.php#GraphicEx // GraphicEx, // http://www.delphi-gems.com/Graphics.php#GraphicEx
@ -113,8 +113,6 @@ var
implementation implementation
uses uses
JvConsts, // for clMoneyGreen
CommCtrl, //Consts,
ViewerFrm; ViewerFrm;
{$R *.lfm} {$R *.lfm}
@ -126,7 +124,7 @@ procedure TfrmMain.DoITV3DrawItem(Sender: TObject; AIndex: Integer; AState: TCus
var var
AColor: TColor; AColor: TColor;
begin begin
AColor := TColor(ITV3.Items[AIndex].Data); AColor := TColor(PtrInt(ITV3.Items[AIndex].Data));
ACanvas.Brush.Color := AColor; ACanvas.Brush.Color := AColor;
ACanvas.FillRect(ItemRect); ACanvas.FillRect(ItemRect);
ACanvas.Pen.Style := psSolid; ACanvas.Pen.Style := psSolid;
@ -271,7 +269,7 @@ begin
for I := 0 to $3FFE do for I := 0 to $3FFE do
begin begin
J := ($3FFE - I) + 500; J := ($3FFE - I) + 500;
ITV3.Items[I].Data := Pointer(RGB(Random(J) mod 256, Random(J) mod 256, Random(J) mod 256)); ITV3.Items[I].Data := Pointer(PtrInt(RGBToColor(Random(J) mod 256, Random(J) mod 256, Random(J) mod 256)));
end; end;
end; end;
@ -414,7 +412,7 @@ end;
procedure TfrmMain.DoITV3Click(Sender: TObject); procedure TfrmMain.DoITV3Click(Sender: TObject);
begin begin
if (ITV3.SelectedIndex >= 0) and (ITV3.SelectedIndex < ITV3.Count) then if (ITV3.SelectedIndex >= 0) and (ITV3.SelectedIndex < ITV3.Count) then
StatusBar1.Panels[0].Text := ColorToString(TColor(ITV3.Items[ITV3.SelectedIndex].Data)); StatusBar1.Panels[0].Text := ColorToString(TColor(PtrInt(ITV3.Items[ITV3.SelectedIndex].Data)));
end; end;
procedure TfrmMain.DoITV2GetCaption(Sender: TObject; ImageIndex: Integer; procedure TfrmMain.DoITV2GetCaption(Sender: TObject; ImageIndex: Integer;
@ -509,7 +507,7 @@ procedure TfrmMain.DoITV3ItemHint(Sender: TObject; Index: Integer;
var var
AColor: TColor; AColor: TColor;
begin begin
AColor := TColor(ITV3.Items[Index].Data); AColor := TColor(PtrInt(ITV3.Items[Index].Data));
HintInfo.HintColor := AColor; HintInfo.HintColor := AColor;
HintInfo.HintStr := ColorToString(AColor); HintInfo.HintStr := ColorToString(AColor);
Handled := true; Handled := true;

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<CONFIG> <CONFIG>
<ProjectOptions> <ProjectOptions>
<Version Value="10"/> <Version Value="11"/>
<PathDelim Value="\"/> <PathDelim Value="\"/>
<General> <General>
<SessionStorage Value="InProjectDir"/> <SessionStorage Value="InProjectDir"/>
@ -20,9 +20,10 @@
<Version Value="2"/> <Version Value="2"/>
</PublishOptions> </PublishOptions>
<RunParams> <RunParams>
<local> <FormatVersion Value="2"/>
<FormatVersion Value="1"/> <Modes Count="1">
</local> <Mode0 Name="default"/>
</Modes>
</RunParams> </RunParams>
<RequiredPackages Count="3"> <RequiredPackages Count="3">
<Item1> <Item1>

View File

@ -22,13 +22,13 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
Scaled = False Scaled = False
object Panel1: TPanel object Panel1: TPanel
Left = 0 Left = 0
Height = 335 Height = 339
Top = 224 Top = 225
Width = 926 Width = 926
Align = alBottom Align = alBottom
AutoSize = True AutoSize = True
BevelOuter = bvNone BevelOuter = bvNone
ClientHeight = 335 ClientHeight = 339
ClientWidth = 926 ClientWidth = 926
TabOrder = 0 TabOrder = 0
TabStop = True TabStop = True
@ -36,11 +36,11 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideLeft.Control = LbImages AnchorSideLeft.Control = LbImages
AnchorSideTop.Control = Panel1 AnchorSideTop.Control = Panel1
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 4 Left = 8
Height = 15 Height = 15
Top = 4 Top = 8
Width = 41 Width = 41
BorderSpacing.Top = 4 BorderSpacing.Top = 8
Caption = 'Images:' Caption = 'Images:'
ParentColor = False ParentColor = False
end end
@ -48,9 +48,9 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideLeft.Control = gbDates AnchorSideLeft.Control = gbDates
AnchorSideTop.Control = gbDates AnchorSideTop.Control = gbDates
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 597 Left = 601
Height = 15 Height = 15
Top = 188 Top = 192
Width = 112 Width = 112
BorderSpacing.Top = 24 BorderSpacing.Top = 24
Caption = 'Keyboard navigation:' Caption = 'Keyboard navigation:'
@ -60,9 +60,9 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideLeft.Control = LblKeyboardNavigation AnchorSideLeft.Control = LblKeyboardNavigation
AnchorSideTop.Control = LblKeyboardNavigation AnchorSideTop.Control = LblKeyboardNavigation
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 613 Left = 617
Height = 30 Height = 30
Top = 207 Top = 211
Width = 181 Width = 181
BorderSpacing.Left = 16 BorderSpacing.Left = 16
BorderSpacing.Top = 4 BorderSpacing.Top = 4
@ -73,9 +73,9 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideLeft.Control = Label18 AnchorSideLeft.Control = Label18
AnchorSideTop.Control = Label18 AnchorSideTop.Control = Label18
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 613 Left = 617
Height = 30 Height = 30
Top = 241 Top = 245
Width = 181 Width = 181
BorderSpacing.Top = 4 BorderSpacing.Top = 4
Caption = 'Ctrl+Left/Right arrow:'#13#10#9'move Large Change days' Caption = 'Ctrl+Left/Right arrow:'#13#10#9'move Large Change days'
@ -85,9 +85,9 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideLeft.Control = Label19 AnchorSideLeft.Control = Label19
AnchorSideTop.Control = Label19 AnchorSideTop.Control = Label19
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 613 Left = 617
Height = 30 Height = 30
Top = 275 Top = 279
Width = 173 Width = 173
BorderSpacing.Top = 4 BorderSpacing.Top = 4
Caption = 'Shift+Left/Right arrow:'#13#10#9'move selection one day' Caption = 'Shift+Left/Right arrow:'#13#10#9'move selection one day'
@ -97,12 +97,13 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideLeft.Control = gbAppearance AnchorSideLeft.Control = gbAppearance
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = gbWidths AnchorSideTop.Control = gbWidths
Left = 597 Left = 601
Height = 160 Height = 160
Top = 4 Top = 8
Width = 230 Width = 230
AutoSize = True AutoSize = True
BorderSpacing.Left = 24 BorderSpacing.Left = 24
BorderSpacing.Right = 8
Caption = ' Dates: ' Caption = ' Dates: '
ClientHeight = 140 ClientHeight = 140
ClientWidth = 226 ClientWidth = 226
@ -233,7 +234,6 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
Min = -1 Min = -1
Position = -1 Position = -1
TabOrder = 3 TabOrder = 3
Wrap = False
end end
object dtpImageDate: TDateTimePicker object dtpImageDate: TDateTimePicker
AnchorSideLeft.Control = edImageNo AnchorSideLeft.Control = edImageNo
@ -285,9 +285,9 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideLeft.Control = gbWidths AnchorSideLeft.Control = gbWidths
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = gbWidths AnchorSideTop.Control = gbWidths
Left = 315 Left = 319
Height = 194 Height = 194
Top = 4 Top = 8
Width = 258 Width = 258
AutoSize = True AutoSize = True
BorderSpacing.Left = 24 BorderSpacing.Left = 24
@ -462,9 +462,9 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = gbFonts AnchorSideTop.Control = gbFonts
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 369 Left = 373
Height = 94 Height = 94
Top = 206 Top = 210
Width = 145 Width = 145
AutoSize = True AutoSize = True
BorderSpacing.Left = 24 BorderSpacing.Left = 24
@ -513,9 +513,9 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideLeft.Control = gbWidths AnchorSideLeft.Control = gbWidths
AnchorSideTop.Control = gbAppearance AnchorSideTop.Control = gbAppearance
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 100 Left = 104
Height = 129 Height = 129
Top = 206 Top = 210
Width = 245 Width = 245
AutoSize = True AutoSize = True
BorderSpacing.Top = 8 BorderSpacing.Top = 8
@ -627,9 +627,9 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideLeft.Control = LbImages AnchorSideLeft.Control = LbImages
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = LblImages AnchorSideTop.Control = LblImages
Left = 100 Left = 104
Height = 161 Height = 161
Top = 4 Top = 8
Width = 191 Width = 191
AutoSize = True AutoSize = True
BorderSpacing.Left = 12 BorderSpacing.Left = 12
@ -794,7 +794,6 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
OnClick = udDayWidthClick OnClick = udDayWidthClick
Position = 19 Position = 19
TabOrder = 5 TabOrder = 5
Wrap = False
end end
object edPenWidth: TEdit object edPenWidth: TEdit
AnchorSideLeft.Control = edScrollSmall AnchorSideLeft.Control = edScrollSmall
@ -825,7 +824,6 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
OnClick = udPenWidthClick OnClick = udPenWidthClick
Position = 2 Position = 2
TabOrder = 7 TabOrder = 7
Wrap = False
end end
object edScrollSmall: TEdit object edScrollSmall: TEdit
AnchorSideTop.Control = gbWidths AnchorSideTop.Control = gbWidths
@ -855,7 +853,6 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
OnClick = udScrollSmallClick OnClick = udScrollSmallClick
Position = 7 Position = 7
TabOrder = 1 TabOrder = 1
Wrap = False
end end
object edScrollLarge: TEdit object edScrollLarge: TEdit
AnchorSideLeft.Control = edScrollSmall AnchorSideLeft.Control = edScrollSmall
@ -887,7 +884,6 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
OnClick = udScrollLargeClick OnClick = udScrollLargeClick
Position = 30 Position = 30
TabOrder = 3 TabOrder = 3
Wrap = False
end end
object edButtonWidth: TEdit object edButtonWidth: TEdit
AnchorSideLeft.Control = edScrollSmall AnchorSideLeft.Control = edScrollSmall
@ -920,7 +916,6 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
OnClick = udButtonWidthClick OnClick = udButtonWidthClick
Position = 12 Position = 12
TabOrder = 9 TabOrder = 9
Wrap = False
end end
end end
object LbImages: TListBox object LbImages: TListBox
@ -929,12 +924,12 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideBottom.Control = Panel1 AnchorSideBottom.Control = Panel1
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 4 Left = 8
Height = 312 Height = 312
Top = 23 Top = 27
Width = 84 Width = 84
Anchors = [akTop, akLeft, akBottom] Anchors = [akTop, akLeft, akBottom]
BorderSpacing.Left = 4 BorderSpacing.Left = 8
BorderSpacing.Top = 4 BorderSpacing.Top = 4
ItemHeight = 0 ItemHeight = 0
OnDrawItem = LbImagesDrawItem OnDrawItem = LbImagesDrawItem
@ -949,7 +944,7 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
Hint = 'Displays info about the control' Hint = 'Displays info about the control'
Top = 568 Top = 568
Width = 926 Width = 926
BorderSpacing.Top = 9 BorderSpacing.Top = 4
Panels = < Panels = <
item item
Width = 300 Width = 300

View File

@ -7079,7 +7079,6 @@ type
R, G, B, A: byte; R, G, B, A: byte;
end; end;
var var
i: Integer;
c: Int32; c: Int32;
begin begin
if AText[1] = '#' then AText[1] := '$'; if AText[1] = '#' then AText[1] := '$';

View File

@ -946,7 +946,7 @@ begin
BeginUpdate; BeginUpdate;
try try
for I := 0 to Count - 1 do for I := 0 to Count - 1 do
if (Integer(Items[I]) <> Msg.LParam) and if (PtrInt(Items[I]) <> Msg.LParam) and
(cdsSelected in Items[I].State) then (cdsSelected in Items[I].State) then
Items[I].State := Items[I].State - [cdsSelected]; Items[I].State := Items[I].State - [cdsSelected];
finally finally

View File

@ -140,7 +140,7 @@ type
implementation implementation
uses uses
CommCtrl, LCLType, LCLProc, LCLIntf, LCLType, LCLProc, LCLIntf,
Math, Math,
JvJCLUtils, JvJVCLUtils; JvJCLUtils, JvJVCLUtils;