delphi在dll调用过程中出现的access violation问题

问题描述:

在delphi编程过程中,用delphi封装了一个动态链接库,将常用功能函数封装到dll,在delphi主工程文件中调用此dll,调用过程没有任何问题,但是在释放动态链接库handle的时候,即到FreeLibrary函数时,主工程与DLL之间有指针来往的时候,总是报access violation错误,将指针调用注释,即不报错,也就是内存管理的问题。

解决办法:

delphi有一个共享内存管理单元ShareMem,在主工程与dll工程的工程文件中,在uses模块第一个引用位置,均加入对ShareMem单元的引用,问题随之解决。

这个问题很早之前就碰到过,可惜很久不用delphi,结果给忘了,为了下次不至于再到处找办法,做个笔记。

原文地址:https://www.cnblogs.com/martian6125/p/9631234.html