问题描述:
在delphi编程过程中,用delphi封装了一个动态链接库,将常用功能函数封装到dll,在delphi主工程文件中调用此dll,调用过程没有任何问题,但是在释放动态链接库handle的时候,即到FreeLibrary函数时,主工程与DLL之间有指针来往的时候,总是报access violation错误,将指针调用注释,即不报错,也就是内存管理的问题。
解决办法:
delphi有一个共享内存管理单元ShareMem,在主工程与dll工程的工程文件中,在uses模块第一个引用位置,均加入对ShareMem单元的引用,问题随之解决。
这个问题很早之前就碰到过,可惜很久不用delphi,结果给忘了,为了下次不至于再到处找办法,做个笔记。