* Fix memleak in dragdrop demo. Issue 29983

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4613 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
blikblum
2016-04-10 19:27:41 +00:00
parent 6a72f29dbd
commit 52dfc8ccac
2 changed files with 10 additions and 1 deletions

View File

@ -7,7 +7,7 @@ object MainForm: TMainForm
ClientHeight = 349 ClientHeight = 349
ClientWidth = 454 ClientWidth = 454
Position = poScreenCenter Position = poScreenCenter
LCLVersion = '1.1' LCLVersion = '1.7'
object VirtualStringTree1: TVirtualStringTree object VirtualStringTree1: TVirtualStringTree
Left = 8 Left = 8
Height = 315 Height = 315
@ -25,6 +25,7 @@ object MainForm: TMainForm
TreeOptions.AutoOptions = [toAutoDropExpand, toAutoScroll, toAutoScrollOnExpand, toAutoTristateTracking, toAutoDeleteMovedNodes] TreeOptions.AutoOptions = [toAutoDropExpand, toAutoScroll, toAutoScrollOnExpand, toAutoTristateTracking, toAutoDeleteMovedNodes]
OnDragOver = VirtualStringTree1DragOver OnDragOver = VirtualStringTree1DragOver
OnDragDrop = VirtualStringTree1DragDrop OnDragDrop = VirtualStringTree1DragDrop
OnFreeNode = VirtualStringTree1FreeNode
OnGetText = VirtualStringTree1GetText OnGetText = VirtualStringTree1GetText
OnGetNodeDataSize = VirtualStringTree1GetNodeDataSize OnGetNodeDataSize = VirtualStringTree1GetNodeDataSize
OnInitNode = VirtualStringTree1InitNode OnInitNode = VirtualStringTree1InitNode

View File

@ -26,6 +26,8 @@ type
procedure VirtualStringTree1DragOver(Sender: TBaseVirtualTree; procedure VirtualStringTree1DragOver(Sender: TBaseVirtualTree;
Source: TObject; Shift: TShiftState; State: TDragState; const Pt: TPoint; Source: TObject; Shift: TShiftState; State: TDragState; const Pt: TPoint;
Mode: TDropMode; var Effect: Integer; var Accept: Boolean); Mode: TDropMode; var Effect: Integer; var Accept: Boolean);
procedure VirtualStringTree1FreeNode(Sender: TBaseVirtualTree;
Node: PVirtualNode);
procedure VirtualStringTree1GetNodeDataSize(Sender: TBaseVirtualTree; procedure VirtualStringTree1GetNodeDataSize(Sender: TBaseVirtualTree;
var NodeDataSize: Integer); var NodeDataSize: Integer);
procedure VirtualStringTree1GetText(Sender: TBaseVirtualTree; procedure VirtualStringTree1GetText(Sender: TBaseVirtualTree;
@ -136,6 +138,12 @@ begin
Accept := (Sender = VirtualStringTree1) or (Source = ListBox1); Accept := (Sender = VirtualStringTree1) or (Source = ListBox1);
end; end;
procedure TMainForm.VirtualStringTree1FreeNode(Sender: TBaseVirtualTree;
Node: PVirtualNode);
begin
PNodeData(Sender.GetNodeData(Node))^.Title := '';
end;
procedure TMainForm.VirtualStringTree1GetNodeDataSize(Sender: TBaseVirtualTree; procedure TMainForm.VirtualStringTree1GetNodeDataSize(Sender: TBaseVirtualTree;
var NodeDataSize: Integer); var NodeDataSize: Integer);
begin begin