• Delphi中动态调用TXMLDocument的经历


    var
      vXMLDocument: TXMLDocument;
    begin
      vXMLDocument := TXMLDocument.Create('c:/temp/temp.xml');
      Caption := IntToStr(vXMLDocument.Node.ChildNodes.Count);
      vXMLDocument.Free;
    end;
     
    执行上面的代码跳出"Invalid pointer operation"异常
    发现屏蔽vXMLDocument.Free;又正常了
    跟踪内核代码vXMLDocument被释放了两次搞不清楚原因
    没办法只好到处搜代码
     
    然后在窗体上直接放置一个TXMLDocument控件
    这段代码又不出错了
     
    郁闷,唯一的区别就是放置的控件赋值了Owner,直接TXMLDocument.Create('c:/temp/temp.xml');没有赋值Owner
    好吧,先解决问题
    var
      vXMLDocument: TXMLDocument;
    begin
      vXMLDocument := TXMLDocument.Create(Self);
      vXMLDocument.FileName := 'c:/temp/temp.xml';
      vXMLDocument.Active := True;
      Caption := IntToStr(vXMLDocument.Node.ChildNodes.Count);
      vXMLDocument.Free;
    end;
    看来正是这样,但这都是根据经验比较出来的
    VCL内核怎么处理还有待分析
     
    http://blog.csdn.net/zswang/article/details/1610404
  • 相关阅读:
    #考研碎碎念#
    #考研笔记#计算机之病毒
    #考研笔记#计算机之多媒体应用
    #考研笔记#计算机之PPT问题
    第六章深入理解类
    第五章方法
    类的基本教程
    类型存储变量
    C#和.net框架
    C#编程概述
  • 原文地址:https://www.cnblogs.com/findumars/p/6347936.html
Copyright © 2020-2023  润新知