如题,如何解决啊?

解决方案 »

  1.   

    我引用了 ShareMem,调用时不报错,但是在关闭程序时又会报错
      

  2.   

    我以前碰到过这种情况,最后改成COM方式
    1、如果EXE和DLL都是用Delphi开发,在EXE和DLL的USES部分,把shareMem单元作为第一个单元引用,发布时要带上borlandmm.dll
    2、使用pchar类型,在EXE中将内存分配好,EXE调用完DLL后,再将内存释放。
    3、强烈建议做成COM,使用BSTR类型作为string,开发工具无关,也不用管string释放的问题
      

  3.   

    borlandmm.dll---》borlndmm.dll
      

  4.   

    在EXE和DLL的工程文件(.prj)的USES里面第一个位置引用ShareMem.
    其它单元文件不用引用
    发布时连同Borlndmm.dll一同发布到应用程序文件夹下
    退出时如果还要报错,请检查转递参数给DLL中的过程或接口时,是不是在DLL中人工释放了EXE工程中引用过去的资源。
      

  5.   

    尽量不用string,做dll的目的就是为了共用,string违背dll的原则。