在Delphi下如何使用Dll?(100分)

  • 主题发起人 主题发起人 无常
  • 开始时间 开始时间

无常

Unregistered / Unconfirmed
GUEST, unregistred user!
dll是用VC生成的,函数声明是:<br>extern &quot;C&quot; bool __declspec(dllexport) Connect(const char *svrname, const char *IPAddr);<br>我在Delphi中静态调用<br>function Connect(svrname:LPCSTR; IPAddr:LPCSTR):Boolean; stdcall; external SDK;<br>使用时也能执行,但执行后就出内存错误,请问为什么?
 
就这个函数调用吗&gt;有没有其它函数的,初始化之类的
 
你的 IPAddr:LPCSTR 好象是个指针。有没有申请内存?
 
extern &quot;C&quot; bool __declspec(dllexport) Connect(const char *svrname, const char *IPAddr);<br>注意调用约定.<br>function Connect(svrname:LPCSTR; IPAddr:LPCSTR):Boolean; cdecl; external SDK;
 
把 borlndmm.dll 复制到当前目录下。这个dll是关于内存管理的,安装的时候就有的。
 
ShareMem is the interface unit to<br> &nbsp;the BORLNDMM.DLL shared memory manager, which must be deployed along<br> &nbsp;with your DLL. To avoid using BORLNDMM.DLL, pass string information<br> &nbsp;using PChar or ShortString parameters.
 
我把borlanmm.dll复制后还是出内存错误,我用BCB试了下没有问题的,应该是用法上的问题,那位高手能给个例子吗?
 
都说了是调用约定的问题.
 
执行的时候没有问题,但关闭程序的时候就提示:invalid pointer opearation
 

Similar threads

D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部