Blue
Red
Green
Orange
Voilet
Slate
Dark

我在主模块中调用到自己编的DLL中的过程函数会出现异常:INVALID POINTER OPERATION(50分)

天什

Unregistered / Unconfirmed
GUEST, unregistred user!
我在主模块中调用到自己编的DLL中的过程函数会出现异常:
"INVALID POINTER OPERATION";不知为什么?
在主模块中
procedure strchangestrs(strs:string;x:integer;var stringstrs:string);stdcall;
external "xx.dll"
调用是:
j:=0;
......
j:=j+1;
strchangestrs(inttostr(j),3,strstr);

 
W

wjiachun

Unregistered / Unconfirmed
GUEST, unregistred user!
string 的问题啦!
如果DLL输出的过程或函数带有长字符类型的参数,或者函数返回类型是长字符串或
带有长字符串元素的构造类型,Object Pascal规定无论是DLL还是调用它的程序必
须把ShareMem单元加到Uses部分。而ShareMem单元是从DelphiMM.DLL这个DLL中引入
的接口单元,因此这种程序分发时必须带有DelphiMM.DLL。Delphi建议为了避免使
用DelphiMM.DLL,传递字符串信息时使用PChar或ShortString类型参数。
 

天什

Unregistered / Unconfirmed
GUEST, unregistred user!
接受答案了.
 

Similar threads

回复
0
查看
523
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
回复
0
查看
602
不得闲
顶部 底部