-
Notifications
You must be signed in to change notification settings - Fork 59
Open
Labels
Description
Нижеследующий код приводит к сбоям если использую компонент дерева с большой вложенностью.
var ABookmark: TBookMark;
FDBTreeView.FDataLink.DataSet.DisableControls;
try
ABookmark := FDBTreeView.FDataLink.DataSet.GetBookmark;
try
ANode.HasChildren := FDBTreeView.LockedLocate(FDBTreeView.FParentFieldName, Result.FKeyFieldValue, []);
FDBTreeView.FDataLink.DataSet.GotoBookmark(ABookmark);
finally
FDBTreeView.FDataLink.DataSet.FreeBookmark(ABookmark);
end;
finally
FDBTreeView.FDataLink.DataSet.EnableControls;
end;
Проблема именно в работе с букмарками, так как переписав код вот так все работает на ура
var ID: Integer;
FDBTreeView.FDataLink.DataSet.DisableControls;
try
ID := FDBTreeView.FDataLink.DataSet.Fields[0].AsInteger;
try
ANode.HasChildren := FDBTreeView.LockedLocate(FDBTreeView.FParentFieldName, Result.FKeyFieldValue, []);
FDBTreeView.FDataLink.DataSet.Locate(FDBTreeView.FDataLink.DataSet.Fields[0].FieldName,ID,[]);
finally
end;
finally
FDBTreeView.FDataLink.DataSet.EnableControls;
end;