浏览代码

Bug: First level Node with normal Node(unFixedID)

MaiXinRong 8 年之前
父节点
当前提交
b097362158
共有 1 个文件被更改,包括 8 次插入3 次删除
  1. 8 3
      ProjGather/ProjGatherTree.pas

+ 8 - 3
ProjGather/ProjGatherTree.pas

@@ -338,12 +338,17 @@ function TProjGatherTree.FindNode(AParent: TProjGatherTreeNode;
   const AName: string; APrice: Double): TProjGatherTreeNode;
   const AName: string; APrice: Double): TProjGatherTreeNode;
 var
 var
   iChild: Integer;
   iChild: Integer;
-  vChild: TProjGatherTreeNode;
+  vParent, vChild: TProjGatherTreeNode;
 begin
 begin
+  if Assigned(AParent) then
+    vParent := AParent
+  else
+    vParent := TProjGatherTreeNode(Root);
+
   Result := nil;
   Result := nil;
-  for iChild := 0 to AParent.Children.Count - 1 do
+  for iChild := 0 to vParent.Children.Count - 1 do
   begin
   begin
-    vChild := TProjGatherTreeNode(AParent.Children.Items[iChild]);
+    vChild := TProjGatherTreeNode(vParent.Children.Items[iChild]);
     if (vChild.Name = AName) and (abs(vChild.Price - APrice) < 0.00001) then
     if (vChild.Name = AName) and (abs(vChild.Price - APrice) < 0.00001) then
     begin
     begin
       Result := vChild;
       Result := vChild;