function UpdateNode(AXmlNode: IXMLNode): Boolean;
var
  i: Integer;
  strChannelUrl: String;
  ThreadId: Cardinal;
begin
  Result := False;
  if AXmlNode.NodeName = CN_FOLDER then
  begin
    for i := 0 to AXmlNode.ChildNodes.Count - 1 do
      UpdateNode(AXmlNode.ChildNodes[i]);
  end
  else if AXmlNode.NodeName = CN_CHANNEL then
  begin
//    UpdateChannel(AXmlNode);
    BeginThread(nil, 0, @UpdateChannel, Pointer(self), 0, ThreadId);  这句代码中,一直创建线程,导致程序异常  
  end;
end;function UpdateChannel(AXmlNode: IXMLNode): Boolean;
begin
   -------
   -------
end;