用 tstringlist 载入一组数据,然后用indexof查找,会经常遇到空指针错误,后来上网查了一下,说需要引用sharemem单元,结果引用之后,错误提示消失,但是还是不明白会出现空指针提示,这个好像不算是错误吧,如果是错误,不知怎么解决。

解决方案 »

  1.   

    tstringlist是怎么载入一组数据和查找的?
    如果是stringlist1.add(str)/stringlist1.indexof(str)
    应该与sharemem无关
      

  2.   

    这个个人觉得与TStringList无关。需要ShareMem一般是调用了DLL,涉及引用计数,或者内存申请和释放非同一个操作者的时候需要,就是设置相同的内存管理器。你这个数据是否为DLL中导入的?
      

  3.   

    是DLL里面的数据,DLL注入另一个进程,用内联汇编,也出现这个空指针问题在DLL的子线程里经常出现在这问题,以前写类似的软件很少出现这种问题,但这次,每天碰到几次这种问题,暂时找不出原因。