M
markss
Unregistered / Unconfirmed
GUEST, unregistred user!
要用delphi调用一个DLL,其中的函数定义int funa(char** pbuf);<br>用delphi定义为function funa(var pbufchar):integer;<br><br>var<br> buf1char;<br><br>begin<br> fillchar(buf1,sizeof(pbuf),#0);<br> funa(buf1);<br> memo1.lines.add('返回数据:'+buf1);<br>end;<br><br>由于buf1传进去的是指针,而且内存是在DLL中生成的,不想对其中内容修改,但是我想将取出来的内容进行修改,所以希望在funa外面新分配一个同size的内存空间buf2,不过应该如何得到分配给buf1的大小呢?还有就是如何将buf1的内容cpoy给外面的变量buf2呢?<br><br>还有就是DLL说明在其中分配的该内存变量会在DLL卸载时被删除,那么什么时候DLL才会被卸载呢?是在关闭调用DLL的应用程序时自动卸载,还是在关闭操作系统时才会被卸载?谢谢<br><br>