请教关于dll调用的问题(150分)

  • 主题发起人 主题发起人 spears
  • 开始时间 开始时间
S

spears

Unregistered / Unconfirmed
GUEST, unregistred user!
我要调用的是vc++写的dll比如<br>short WINAPI CreateLabel(short ai,long no,D_DOT *labpnt);<br>其中的labpnt是出口<br>在delphi中我引用为 <br>function _CreateLabel(ai:integer;no:integer;out labpnt:iD_DOT):integer;stdcall;<br>但是一运行就内存出错<br>这里的d_dot是我用的组件中一个对象,如果出口是普通的数据类型就没问题<br><br>就是出口是组件中一个对象的时候应该怎么用dephi调用dll呢?<br>
 
dll不可以输出对象,因为C++和Delphi对于类的处理方式不同。
 
那也就是说这个函数在delphi里是不能调用的了?
 
我这么觉得。不过也可能是因为iD_DOT的问题,看样子是IInterface,而Dll传出的是指针,或许你定义成指针就好了,试试看吧,我也不是很确定。<br>type<br>&nbsp; pD_Dot = pointer of iD_DOT;<br>&nbsp;_CreateLabel(ai:integer;no:integer;out labpnt:pD_Dot):integer;stdcall;<br>
 
还是不行,有没有别的办法呀[:(]
 
对于内存上数据的操作不同,这样做应该不行。
 
也就是说确定不行了?
 
你的这个动态库是谁做的?你去找他沟通一下,能不能在VB下调用,如果在vb下调用可行,那么我想在DELPHI上也应该可行的
 
多人接受答案了。
 
后退
顶部