Delphi 调用 VC DLL 的问题(字符串、指针、内存、访问。。)(6分)

  • 主题发起人 主题发起人 mycoolis
  • 开始时间 开始时间
M

mycoolis

Unregistered / Unconfirmed
GUEST, unregistred user!
我硬着头皮终于把一段VC函数源代码编译成了dll,让Delphi调用<br>问题是:<br>&nbsp; 那个函数原来是类似这样的<br>&nbsp; &nbsp; &nbsp;int main(argc,*argv)<br>&nbsp; 我把它改成了 &nbsp;<br>&nbsp; &nbsp; &nbsp;my_dll_call_main(LPCTSTR str1)<br>&nbsp;然后在Delphi里用PChar定义成 <br>&nbsp; &nbsp; &nbsp;Tmy_dll_call_main=function(str1:PChar):Integer; stdcall;<br><br>&nbsp;调用的时候工作很好,字符串也被传递过去了。但是最后确出现<br>&nbsp; &nbsp; &nbsp;Access violation at address 0095382C.Write of address 000000.或者<br>&nbsp; &nbsp; &nbsp;Access violation at address 00953378.Read of address FFFFFF.<br>&nbsp; 的错误。<br>我把那个参数去掉之后,就不出现错误了.。<br>错误的意思好像是<br>xxxx.dll试图读写不准它读写的某个内存地址。。。<br><br><br>请问该如何解决?<br>
 
你试试:<br>Tmy_dll_call_main=function( var str1:PChar):Integer; stdcall;<br><br>
 
后退
顶部