用VB调用DELPHI的DLL出错,参数中有_RecordSet(100分)

  • 主题发起人 主题发起人 328xy
  • 开始时间 开始时间
3

328xy

Unregistered / Unconfirmed
GUEST, unregistred user!
Delphi写的动态连接<br>function ReturnRS:_RecordSet;stdcall;<br>var ARS:TADOQuery;<br>begin<br>&nbsp; ARS:=TADOQuery.Create(Nil);<br>&nbsp; Result:=ARS.Recordset;<br>end;<br><br>VB写的调用方法<br>private declare function ResultRS lib "c:/Ha.dll" () as ADODB.Recordset<br><br>dim rs as new ADODB.Recordset<br>Set rs=ResultRS<br>set rs=nothing<br><br>调用时出错,VB IDE直接退出,但是将_RecordSet该为Integer即正确,请各位帮忙看看为什么,是调用的问题还是DLL的问题
 
delphi会自动管理接口的引用计数,每生成一个参考就会自动调用_AddRef/_RemoveRef所以在调用其他语一般没问题,但是共别人调用的时候这个机制可能会造成困扰,所以Intreger就是避免了这个操作,
 
后退
顶部