RxFPC:fix unneeded typecastings - ID0031436

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5768 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75
2017-02-27 05:38:55 +00:00
parent 4191575bd1
commit 79a60e0bfb
3 changed files with 100 additions and 87 deletions

View File

@ -55,13 +55,13 @@
<MinVersion Major="1" Release="18" Build="56" Valid="True"/> <MinVersion Major="1" Release="18" Build="56" Valid="True"/>
</Item5> </Item5>
</RequiredPackages> </RequiredPackages>
<Units Count="53"> <Units Count="54">
<Unit0> <Unit0>
<Filename Value="RxDBGridDemo.lpr"/> <Filename Value="RxDBGridDemo.lpr"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<CursorPos X="47" Y="18"/> <CursorPos X="47" Y="18"/>
<UsageCount Value="118"/> <UsageCount Value="119"/>
</Unit0> </Unit0>
<Unit1> <Unit1>
<Filename Value="rxdbgridmainunit.pas"/> <Filename Value="rxdbgridmainunit.pas"/>
@ -70,9 +70,10 @@
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="RxDBGridMainUnit"/> <UnitName Value="RxDBGridMainUnit"/>
<TopLine Value="190"/> <IsVisibleTab Value="True"/>
<CursorPos X="27" Y="212"/> <TopLine Value="78"/>
<UsageCount Value="118"/> <CursorPos X="15" Y="94"/>
<UsageCount Value="119"/>
<Loaded Value="True"/> <Loaded Value="True"/>
<LoadedDesigner Value="True"/> <LoadedDesigner Value="True"/>
</Unit1> </Unit1>
@ -407,169 +408,171 @@
</Unit47> </Unit47>
<Unit48> <Unit48>
<Filename Value="../../rxdb/rxdbgrid.pas"/> <Filename Value="../../rxdb/rxdbgrid.pas"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/> <EditorIndex Value="1"/>
<TopLine Value="270"/> <TopLine Value="2588"/>
<CursorPos X="16" Y="238"/> <CursorPos X="38" Y="2591"/>
<UsageCount Value="11"/> <UsageCount Value="11"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit48> </Unit48>
<Unit49> <Unit49>
<Filename Value="../../../../lcl/grids.pas"/> <Filename Value="../../../../lcl/grids.pas"/>
<UnitName Value="Grids"/> <UnitName Value="Grids"/>
<EditorIndex Value="2"/> <EditorIndex Value="-1"/>
<TopLine Value="5347"/> <TopLine Value="5347"/>
<CursorPos X="132" Y="5371"/> <CursorPos X="132" Y="5371"/>
<UsageCount Value="11"/> <UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit49> </Unit49>
<Unit50> <Unit50>
<Filename Value="../../../../lcl/controls.pp"/> <Filename Value="../../../../lcl/controls.pp"/>
<UnitName Value="Controls"/> <UnitName Value="Controls"/>
<EditorIndex Value="4"/> <EditorIndex Value="-1"/>
<TopLine Value="2284"/> <TopLine Value="2284"/>
<CursorPos X="15" Y="2303"/> <CursorPos X="15" Y="2303"/>
<UsageCount Value="11"/> <UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit50> </Unit50>
<Unit51> <Unit51>
<Filename Value="../../../../lcl/include/customcontrol.inc"/> <Filename Value="../../../../lcl/include/customcontrol.inc"/>
<EditorIndex Value="5"/> <EditorIndex Value="-1"/>
<TopLine Value="64"/> <TopLine Value="64"/>
<CursorPos X="3" Y="73"/> <CursorPos X="3" Y="73"/>
<UsageCount Value="11"/> <UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit51> </Unit51>
<Unit52> <Unit52>
<Filename Value="../../../../lcl/dbgrids.pas"/> <Filename Value="../../../../lcl/dbgrids.pas"/>
<UnitName Value="DBGrids"/> <UnitName Value="DBGrids"/>
<EditorIndex Value="3"/> <EditorIndex Value="2"/>
<TopLine Value="2689"/> <TopLine Value="458"/>
<CursorPos Y="2708"/> <CursorPos X="37" Y="473"/>
<UsageCount Value="11"/> <UsageCount Value="11"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit52> </Unit52>
<Unit53>
<Filename Value="/home/install/source/fpcsrc/packages/fcl-db/src/base/db.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="1805"/>
<CursorPos X="14" Y="1822"/>
<UsageCount Value="10"/>
</Unit53>
</Units> </Units>
<JumpHistory Count="30" HistoryIndex="29"> <JumpHistory Count="30" HistoryIndex="28">
<Position1> <Position1>
<Filename Value="../../../../lcl/grids.pas"/> <Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="4778" TopLine="4758"/> <Caret Line="105" Column="28" TopLine="89"/>
</Position1> </Position1>
<Position2> <Position2>
<Filename Value="../../../../lcl/grids.pas"/> <Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="4780" TopLine="4758"/> <Caret Line="207" Column="19" TopLine="185"/>
</Position2> </Position2>
<Position3> <Position3>
<Filename Value="../../../../lcl/grids.pas"/> <Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="4781" TopLine="4758"/> <Caret Line="199" Column="10" TopLine="185"/>
</Position3> </Position3>
<Position4> <Position4>
<Filename Value="../../../../lcl/grids.pas"/> <Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="4784" TopLine="4766"/> <Caret Line="1031" Column="15" TopLine="1020"/>
</Position4> </Position4>
<Position5> <Position5>
<Filename Value="../../../../lcl/grids.pas"/> <Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="4785" TopLine="4766"/> <Caret Line="4930" Column="19" TopLine="4930"/>
</Position5> </Position5>
<Position6> <Position6>
<Filename Value="../../../../lcl/grids.pas"/> <Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="4790" TopLine="4766"/> <Caret Line="5000" Column="5" TopLine="4988"/>
</Position6> </Position6>
<Position7> <Position7>
<Filename Value="../../../../lcl/grids.pas"/> <Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="4795" TopLine="4766"/> <Caret Line="1030" Column="3" TopLine="1012"/>
</Position7> </Position7>
<Position8> <Position8>
<Filename Value="../../../../lcl/grids.pas"/> <Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="4800" TopLine="4770"/> <Caret Line="5000" Column="5" TopLine="4976"/>
</Position8> </Position8>
<Position9> <Position9>
<Filename Value="../../../../lcl/grids.pas"/> <Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="4805" TopLine="4775"/> <Caret Line="4943" Column="3" TopLine="4933"/>
</Position9> </Position9>
<Position10> <Position10>
<Filename Value="../../../../lcl/grids.pas"/> <Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="4806" TopLine="4776"/> <Caret Line="5002" Column="10" TopLine="4985"/>
</Position10> </Position10>
<Position11> <Position11>
<Filename Value="../../../../lcl/grids.pas"/> <Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="4809" TopLine="4779"/> <Caret Line="5019" Column="21" TopLine="5001"/>
</Position11> </Position11>
<Position12> <Position12>
<Filename Value="../../../../lcl/grids.pas"/> <Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="4810" TopLine="4780"/> <Caret Line="5021" Column="12" TopLine="5003"/>
</Position12> </Position12>
<Position13> <Position13>
<Filename Value="../../../../lcl/grids.pas"/> <Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="4813" TopLine="4783"/> <Caret Line="5088" Column="18" TopLine="5068"/>
</Position13> </Position13>
<Position14> <Position14>
<Filename Value="../../../../lcl/grids.pas"/> <Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="4823" TopLine="4805"/> <Caret Line="5089" Column="30" TopLine="5068"/>
</Position14> </Position14>
<Position15> <Position15>
<Filename Value="../../../../lcl/grids.pas"/> <Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="3177" TopLine="3158"/> <Caret Line="4968" Column="43" TopLine="4956"/>
</Position15> </Position15>
<Position16> <Position16>
<Filename Value="../../../../lcl/grids.pas"/> <Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="5215" Column="3" TopLine="5213"/> <Caret Line="625" Column="17" TopLine="607"/>
</Position16> </Position16>
<Position17> <Position17>
<Filename Value="../../../../lcl/grids.pas"/> <Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="3178" TopLine="3159"/> <Caret Line="2459" Column="42" TopLine="2431"/>
</Position17> </Position17>
<Position18> <Position18>
<Filename Value="../../../../lcl/grids.pas"/> <Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="5366" TopLine="5347"/> <Caret Line="2465" Column="15" TopLine="2437"/>
</Position18> </Position18>
<Position19> <Position19>
<Filename Value="../../rxdb/rxdbgrid.pas"/> <Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="5811" TopLine="5786"/>
</Position19> </Position19>
<Position20> <Position20>
<Filename Value="../../rxdb/rxdbgrid.pas"/> <Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="4064" Column="25" TopLine="4050"/> <Caret Line="639" Column="3" TopLine="630"/>
</Position20> </Position20>
<Position21> <Position21>
<Filename Value="../../rxdb/rxdbgrid.pas"/> <Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="4079" Column="13" TopLine="4058"/> <Caret Line="2505" Column="40" TopLine="2502"/>
</Position21> </Position21>
<Position22> <Position22>
<Filename Value="../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../../lcl/dbgrids.pas"/>
<Caret Line="4673" TopLine="4654"/> <Caret Line="473" Column="14" TopLine="456"/>
</Position22> </Position22>
<Position23> <Position23>
<Filename Value="../../rxdb/rxdbgrid.pas"/> <Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="291" Column="19" TopLine="272"/> <Caret Line="2505" Column="40" TopLine="2502"/>
</Position23> </Position23>
<Position24> <Position24>
<Filename Value="../../rxdb/rxdbgrid.pas"/> <Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="308" Column="38" TopLine="289"/> <Caret Line="639" Column="24" TopLine="624"/>
</Position24> </Position24>
<Position25> <Position25>
<Filename Value="../../rxdb/rxdbgrid.pas"/> <Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="346" Column="28" TopLine="327"/> <Caret Line="820" Column="55" TopLine="792"/>
</Position25> </Position25>
<Position26> <Position26>
<Filename Value="../../rxdb/rxdbgrid.pas"/> <Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="1147" Column="48" TopLine="1129"/> <Caret Line="650" Column="15" TopLine="634"/>
</Position26> </Position26>
<Position27> <Position27>
<Filename Value="../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../../lcl/dbgrids.pas"/>
<Caret Line="1149" Column="3" TopLine="1147"/> <Caret Line="473" Column="14" TopLine="456"/>
</Position27> </Position27>
<Position28> <Position28>
<Filename Value="rxdbgridmainunit.pas"/> <Filename Value="../../../../lcl/dbgrids.pas"/>
<Caret Line="9" Column="7"/> <Caret Line="339" Column="15" TopLine="323"/>
</Position28> </Position28>
<Position29> <Position29>
<Filename Value="rxdbgridmainunit.pas"/> <Filename Value="../../rxdb/rxdbgrid.pas"/>
<Caret Line="209" Column="8" TopLine="206"/> <Caret Line="2591" Column="24" TopLine="2588"/>
</Position29> </Position29>
<Position30> <Position30>
<Filename Value="../../rxdb/rxdbgrid.pas"/> <Filename Value="../../../../lcl/dbgrids.pas"/>
<Caret Line="4078" Column="35" TopLine="4059"/> <Caret Line="473" Column="37" TopLine="458"/>
</Position30> </Position30>
</JumpHistory> </JumpHistory>
</ProjectOptions> </ProjectOptions>
@ -602,7 +605,7 @@
<WatchScope Value="wpsLocal"/> <WatchScope Value="wpsLocal"/>
<WatchKind Value="wpkWrite"/> <WatchKind Value="wpkWrite"/>
<Source Value="../../rxdb/rxdbgrid.pas"/> <Source Value="../../rxdb/rxdbgrid.pas"/>
<Line Value="4093"/> <Line Value="4095"/>
</Item1> </Item1>
</BreakPoints> </BreakPoints>
</Debugging> </Debugging>

View File

@ -2,11 +2,11 @@ object RxDBGridMainForm: TRxDBGridMainForm
Left = 279 Left = 279
Height = 732 Height = 732
Top = 137 Top = 137
Width = 1159 Width = 1182
ActiveControl = Panel1 ActiveControl = Panel1
Caption = 'RxDBGrid Demo' Caption = 'RxDBGrid Demo'
ClientHeight = 704 ClientHeight = 704
ClientWidth = 1159 ClientWidth = 1182
Menu = MainMenu1 Menu = MainMenu1
OnCreate = FormCreate OnCreate = FormCreate
SessionProperties = 'RxDBGridExportSpreadSheet1.FileName;RxDBGridExportSpreadSheet1.OpenAfterExport;RxDBGridExportSpreadSheet1.Options;RxDBGridExportSpreadSheet1.PageName;RxDBGridPrint1.Options;RxDBGridPrint1.Orientation;RxDBGridPrint1.PageMargin;RxDBGridPrint1.ReportTitle;RxDBGridPrint1.ShowColumnHeaderOnAllPage' SessionProperties = 'RxDBGridExportSpreadSheet1.FileName;RxDBGridExportSpreadSheet1.OpenAfterExport;RxDBGridExportSpreadSheet1.Options;RxDBGridExportSpreadSheet1.PageName;RxDBGridPrint1.Options;RxDBGridPrint1.Orientation;RxDBGridPrint1.PageMargin;RxDBGridPrint1.ReportTitle;RxDBGridPrint1.ShowColumnHeaderOnAllPage'
@ -16,7 +16,7 @@ object RxDBGridMainForm: TRxDBGridMainForm
Left = 0 Left = 0
Height = 627 Height = 627
Top = 77 Top = 77
Width = 1159 Width = 1182
ColumnDefValues.BlobText = '(примечание)' ColumnDefValues.BlobText = '(примечание)'
TitleButtons = True TitleButtons = True
AutoSort = True AutoSort = True
@ -460,11 +460,11 @@ object RxDBGridMainForm: TRxDBGridMainForm
Left = 0 Left = 0
Height = 77 Height = 77
Top = 0 Top = 0
Width = 1159 Width = 1182
Align = alTop Align = alTop
AutoSize = True AutoSize = True
ClientHeight = 77 ClientHeight = 77
ClientWidth = 1159 ClientWidth = 1182
TabOrder = 1 TabOrder = 1
object Label1: TLabel object Label1: TLabel
AnchorSideLeft.Control = Button2 AnchorSideLeft.Control = Button2

View File

@ -622,7 +622,7 @@ type
FFilterListEditor: TFilterListCellEditor; FFilterListEditor: TFilterListCellEditor;
FOldPosition: Integer; // FOldPosition: Integer;
FVersion: integer; FVersion: integer;
FPropertyStorageLink: TPropertyStorageLink; FPropertyStorageLink: TPropertyStorageLink;
@ -1027,7 +1027,7 @@ begin
end; end;
type type
THackDataLink = class(TDataLink); // THackDataLink = class(TDataLink);
THackDataSet = class(TDataSet); THackDataSet = class(TDataSet);
@ -2501,7 +2501,8 @@ end;
function TRxDBGrid.GetColumns: TRxDbGridColumns; function TRxDBGrid.GetColumns: TRxDbGridColumns;
begin begin
Result := TRxDbGridColumns(TCustomDrawGrid(Self).Columns); //Result := TRxDbGridColumns(TCustomDrawGrid(Self).Columns);
Result := TRxDbGridColumns(inherited Columns);
end; end;
function TRxDBGrid.GetFooterColor: TColor; function TRxDBGrid.GetFooterColor: TColor;
@ -2586,7 +2587,8 @@ end;
procedure TRxDBGrid.SetColumns(const AValue: TRxDbGridColumns); procedure TRxDBGrid.SetColumns(const AValue: TRxDbGridColumns);
begin begin
TRxDbGridColumns(TCustomDrawGrid(Self).Columns).Assign(Avalue); //TRxDbGridColumns(TCustomDrawGrid(Self).Columns).Assign(Avalue);
inherited Columns := TDBGridColumns(AValue);
end; end;
procedure TRxDBGrid.SetFooterColor(const AValue: TColor); procedure TRxDBGrid.SetFooterColor(const AValue: TColor);
@ -4926,7 +4928,7 @@ var
i, cnt: integer; i, cnt: integer;
APresent: boolean; APresent: boolean;
DHL:THackDataLink; // DHL:THackDataLink;
DHS:THackDataSet; DHS:THackDataSet;
SaveState:TDataSetState; SaveState:TDataSetState;
@ -4940,6 +4942,7 @@ var
FCList:TFPList; FCList:TFPList;
j: Integer; j: Integer;
// DHL: TComponentDataLink;
begin begin
if (not (FFooterOptions.Active and DatalinkActive)) or (Columns.Count = 0) or (gsAddingAutoColumns in GridStatus) then if (not (FFooterOptions.Active and DatalinkActive)) or (Columns.Count = 0) or (gsAddingAutoColumns in GridStatus) then
Exit; Exit;
@ -4997,7 +5000,8 @@ begin
exit; exit;
end; end;
DHL:=THackDataLink(Datalink); //DHL:=THackDataLink(Datalink);
//DHL:=Datalink;
DHS:=THackDataSet(DataSource.DataSet); DHS:=THackDataSet(DataSource.DataSet);
{$IFDEF NoAutomatedBookmark} {$IFDEF NoAutomatedBookmark}
@ -5013,8 +5017,10 @@ begin
DHS.AfterScroll:=nil; DHS.AfterScroll:=nil;
DHS.BeforeScroll:=nil; DHS.BeforeScroll:=nil;
SaveActiveRecord:=DHL.ActiveRecord; // SaveActiveRecord:=DHL.ActiveRecord;
DHL.ActiveRecord:=0; // DHL.ActiveRecord:=0;
SaveActiveRecord:=Datalink.ActiveRecord;
Datalink.ActiveRecord:=0;
SavePos:=DHS.RecNo; SavePos:=DHS.RecNo;
FCList:=TFPList.Create; FCList:=TFPList.Create;
@ -5077,9 +5083,12 @@ begin
RCol.FFooters[j].FTestValue:=RCol.FFooter.FTestValue / Cnt; RCol.FFooters[j].FTestValue:=RCol.FFooter.FTestValue / Cnt;
end; end;
end; end;
{
if Min(DHL.RecordCount + SavePos - 1, DHS.RecNo) > 0 then if Min(DHL.RecordCount + SavePos - 1, DHS.RecNo) > 0 then
DHS.RecNo := Min(DHL.RecordCount + SavePos - 1, DHS.RecNo); DHS.RecNo := Min(DHL.RecordCount + SavePos - 1, DHS.RecNo);
}
if Min(Datalink.RecordCount + SavePos - 1, DHS.RecNo) > 0 then
DHS.RecNo := Min(Datalink.RecordCount + SavePos - 1, DHS.RecNo);
//K:=DHS.RecNo; //K:=DHS.RecNo;
while not DHS.BOF do while not DHS.BOF do
@ -5092,7 +5101,8 @@ begin
for i:=0 to Columns.Count-1 do for i:=0 to Columns.Count-1 do
TRxColumn(Columns[i]).Footer.FField:=nil; TRxColumn(Columns[i]).Footer.FField:=nil;
DHL.ActiveRecord:=SaveActiveRecord; //DHL.ActiveRecord:=SaveActiveRecord;
Datalink.ActiveRecord:=SaveActiveRecord;
DHS.RestoreState(SaveState); DHS.RestoreState(SaveState);
DHS.AfterScroll := SaveAfterScroll; DHS.AfterScroll := SaveAfterScroll;