代码有几处可能会出问题的地方:
  case ToolNum of
  CUSTOM_INFO_TOOL : //信息工具Info
  begin
    pt := CoPoint.Create;
    pt.Set_(X1,Y1);
    lyr:=GetLayer(pt,mArea);
///////加入判断,lyr是否是空否则出错。
    mlyr:= lyr;


  CUSTOM_LINKTOCITY:
  begin    pt := CoPoint.Create;
    pt.Set_(X1,Y1);
    lyr:=GetLayer(pt,mArea);
/////同样需要判断,若lyr是空,后面可能会出错
    FtrName:=GetFeatureName(pt,lyr);


   
    lyr := Map1.Layers.Item(LayerName);
///////需要判断lyr是否为空

解决方案 »

  1.   

    谢谢 gzmhero(hihihi), 我再试试看!
      

  2.   

    还有我是用ADO连接Access数据库和做为专题图的绑定源的, ADO连接经常出现一些莫名其妙的错误!例如:不允许同时访问,所以我把TQuery.LockType设成ltReadOnly.
      

  3.   

    下载一个ADO补丁。
    http://www.pchome.net/dl/delphi.htm
      

  4.   

    是到事件的end时出错!就是最后一个end,事件返回时出现以上错误!还有我是用ADO连接Access数据库和做为专题图的绑定源的, ADO连接经常出现一些莫名其妙的错误!例如:不允许同时访问,所以我把TQuery.LockType设成ltReadOnly. 是不是数据库的问题?