delphi中对树进行自定义排序

这几天搞个客户管理,左边是树,要求其中的同级节点可以上下移动,并能保存下次初始化时还按修改过的顺序生成树,找资料都是按下面的方法.
-----------------------------下面是别人这样做的但没试成功------------------------------------
下面函数不要进行定义
function CustomSortProc(Node1, Node2: TTreeNode; Data: integer): integer; stdcall;
begin
  Result := -AnsiStrIComp(PChar(Node1.Text), PChar(Node2.Text));
  //看!这里就在判断两个Node的前后顺序
  //返回值的意思: -1 表示node1在前,node2在后
  //             0  表示相等
  //             1  表示node1在后,node2在前
end;

调用时
TreeView1.CustomSort(@CustomSortProc, 0);
----------------------下面是我的方法----------------------------------------------------------------
数据库中除了自增字段,父字段外,还有一个顺序字段,顺序字段保存节点在树中的索引序号,如有调整修改此值即可,下次生成树时按此顺序字段排序再添加树.
原文地址:https://www.cnblogs.com/wppt/p/481830.html