ide hints: Fixes them with FPC 2.6.4 see bug #29982

git-svn-id: trunk@52141 -
This commit is contained in:
sekelsenmat 2016-04-07 09:16:12 +00:00
parent ea5b2dc462
commit 3d793aeb36
2 changed files with 22 additions and 25 deletions

View File

@ -47,7 +47,6 @@
{$DEFINE VERSION5} {$DEFINE VERSION5}
{$DEFINE Version6OrHigher} {$DEFINE Version6OrHigher}
{$DEFINE Version7OrHigher} {$DEFINE Version7OrHigher}
{$MODESWITCH NESTEDPROCVARS}
{$ELSE} {$ELSE}

View File

@ -2710,7 +2710,7 @@ type
property FlagErrors; property FlagErrors;
end; end;
TIdFindNodeCriteria = function(ACurrNode: TIpHtmlNodeCore): Boolean is nested; TIdFindNodeCriteria = function(ACurrNode: TIpHtmlNodeCore; const AParamStr: string): Boolean;
const const
NAnchorChar = #3 ; {character used to represent an Anchor } NAnchorChar = #3 ; {character used to represent an Anchor }
@ -2739,7 +2739,7 @@ function dbgs(et: TElementType): string; overload;
function GetNextSiblingNode(ANode: TIpHtmlNode): TIpHtmlNode; function GetNextSiblingNode(ANode: TIpHtmlNode): TIpHtmlNode;
function GetPrevSiblingNode(ANode: TIpHtmlNode): TIpHtmlNode; function GetPrevSiblingNode(ANode: TIpHtmlNode): TIpHtmlNode;
function GetParentNodeOfClass(ANode: TIpHtmlNode; AClass: TIpHtmlNodeClass): TIpHtmlNode; function GetParentNodeOfClass(ANode: TIpHtmlNode; AClass: TIpHtmlNodeClass): TIpHtmlNode;
function FindNode(ANode: TIpHtmlNode; ACriteria: TIdFindNodeCriteria): TIpHtmlNodeCore; function FindNode(ANode: TIpHtmlNode; ACriteria: TIdFindNodeCriteria; const AParamStr: string): TIpHtmlNodeCore;
function FindNodeByElemId(ANode: TIpHtmlNode; const AElemId: string): TIpHtmlNodeCore; function FindNodeByElemId(ANode: TIpHtmlNode; const AElemId: string): TIpHtmlNodeCore;
function FindNodeByElemClass(ANode: TIpHtmlNode; const AElemClass: string): TIpHtmlNodeCore; function FindNodeByElemClass(ANode: TIpHtmlNode; const AElemClass: string): TIpHtmlNodeCore;
@ -2935,7 +2935,7 @@ begin
Result := Result.FParentNode; Result := Result.FParentNode;
end; end;
function FindNode(ANode: TIpHtmlNode; ACriteria: TIdFindNodeCriteria): TIpHtmlNodeCore; function FindNode(ANode: TIpHtmlNode; ACriteria: TIdFindNodeCriteria; const AParamStr: string): TIpHtmlNodeCore;
var var
I: Integer; I: Integer;
VNode: TIpHtmlNodeMulti; VNode: TIpHtmlNodeMulti;
@ -2949,43 +2949,41 @@ begin
for I := 0 to Pred(VNode.ChildCount) do for I := 0 to Pred(VNode.ChildCount) do
begin begin
VPrevNode := VNode.ChildNode[I]; VPrevNode := VNode.ChildNode[I];
VNextNode := FindNode(VPrevNode, ACriteria); VNextNode := FindNode(VPrevNode, ACriteria, AParamStr);
if not Assigned(VNextNode) then if not Assigned(VNextNode) then
VNextNode := VPrevNode; VNextNode := VPrevNode;
if VNextNode is TIpHtmlNodeCore then if VNextNode is TIpHtmlNodeCore then
begin begin
Result := VNextNode as TIpHtmlNodeCore; Result := VNextNode as TIpHtmlNodeCore;
if ACriteria(Result) then if ACriteria(Result, AParamStr) then
Exit; Exit;
end; end;
end; end;
Result := nil; Result := nil;
end; end;
function FindNodeByElemId(ANode: TIpHtmlNode; const AElemId: string): TIpHtmlNodeCore; function Criteria_FindNodeByElemId(ACurrNode: TIpHtmlNodeCore; const AParamStr: string): Boolean;
function Criteria(ACurrNode: TIpHtmlNodeCore): Boolean;
begin
if ACurrNode.Id = AElemId then
Exit(True);
Result := False;
end;
begin begin
Result := FindNode(ANode, Criteria); if ACurrNode.Id = AParamStr then
Exit(True);
Result := False;
end;
function FindNodeByElemId(ANode: TIpHtmlNode; const AElemId: string): TIpHtmlNodeCore;
begin
Result := FindNode(ANode, Criteria_FindNodeByElemId, AElemId);
end;
function Criteria_FindNodeByElemClass(ACurrNode: TIpHtmlNodeCore; const AParamStr: string): Boolean;
begin
if ACurrNode.ClassId = AParamStr then
Exit(True);
Result := False;
end; end;
function FindNodeByElemClass(ANode: TIpHtmlNode; const AElemClass: string): TIpHtmlNodeCore; function FindNodeByElemClass(ANode: TIpHtmlNode; const AElemClass: string): TIpHtmlNodeCore;
function Criteria(ACurrNode: TIpHtmlNodeCore): Boolean;
begin
if ACurrNode.ClassId = AElemClass then
Exit(True);
Result := False;
end;
begin begin
Result := FindNode(ANode, Criteria); Result := FindNode(ANode, Criteria_FindNodeByElemClass, AElemClass);
end; end;
procedure Register; procedure Register;