F fwd Unregistered / Unconfirmed GUEST, unregistred user! 2009-05-18 #1 http://www.delphibbs.com/delphibbs/dispq.asp?lid=3958649将所有的细节都去掉,只有返回的接口.还是不行。静态调用可以。动态就不行了。不知为什么!同样的代码将返回值接口改为其它类型(如:string)就有调用,怪不怪!感兴趣的试一试,看是不是这种情况!
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3958649将所有的细节都去掉,只有返回的接口.还是不行。静态调用可以。动态就不行了。不知为什么!同样的代码将返回值接口改为其它类型(如:string)就有调用,怪不怪!感兴趣的试一试,看是不是这种情况!
Z znxia Unregistered / Unconfirmed GUEST, unregistred user! 2009-05-18 #3 result :=nil; //新增一行FreeLibrary(Handle); 建议使用dll时,不要使用string,而是使用pchar或者类似于String[500]。
F fwd Unregistered / Unconfirmed GUEST, unregistred user! 2009-05-19 #5 result :=nil; //新增一行要返回接口,却给个NIL行吗?
F fwd Unregistered / Unconfirmed GUEST, unregistred user! 2009-05-19 #6 银雨辰:我用的是FastShareMem, FastMM4,是不是同样功能呀,高版本吗?
Z znxia Unregistered / Unconfirmed GUEST, unregistred user! 2009-05-19 #7 result :=nil; //新增一行要返回接口,却给个NIL行吗?--------------当然不可以,针对你说的这个错误,我想知道错误的原因。我怀疑是因为释放动态库的时候,DLL中调用了一次接口函数_Release,应用程序中又调用了一次_Release函数,从而导致异常的。你这样测试一下,如果没有问题,那就按照另外一个帖子中说的,等用完这个接口再释放动态库。
result :=nil; //新增一行要返回接口,却给个NIL行吗?--------------当然不可以,针对你说的这个错误,我想知道错误的原因。我怀疑是因为释放动态库的时候,DLL中调用了一次接口函数_Release,应用程序中又调用了一次_Release函数,从而导致异常的。你这样测试一下,如果没有问题,那就按照另外一个帖子中说的,等用完这个接口再释放动态库。
D delphfans Unregistered / Unconfirmed GUEST, unregistred user! 2009-05-19 #8 finally FreeLibrary(Handle); 晕死你创造主体都释放了 返回的对象怎么可能还存在 FreeLibrary(Handle); 去掉就好了 释放也只能是先释放接口在是dll