我在ActiveForm的工程文件中uses ShareMem这个单元,打开网页功能运行正常,但是关闭后会报错“内存地址出错”,请各位高手帮帮忙!

解决方案 »

  1.   

    uses ShareMem//可以不用她;
    ActiveForm中,你调用Dll?我觉得没有必要;
    ActiveForm就是方便用户,减轻用户操作....
    或者你说一说你的目的是什么?
      

  2.   

    在你程序的最后加上
    initialization
        hnd := CreateMutex(nil, True, 'irgendwaseinmaliges');
        if GetLastError = ERROR_ALREADY_EXISTS then Halt;
        OleInitialize(nil);
    finalization
        if hnd <> 0 then CloseHandle(hnd);
        OleUnInitialize;
    你主要是变量没有被正确的释放。
    再就是你窗体的OnClose事件里加上:
        Action:=caFree;
      

  3.   

    其实我是希望把功能全部做在Dll中,ActiveForm 只是把功能嵌套在网页罢了,在传递参数时用到了String类型,所以要加上Sharemem,但是它把内存机制改变了,所以出错了!
      

  4.   

    你可能用的是DElphi7.0,其中的borlndmm.dll有BUG,用delphi5.0的同名文件即可。