S
SandWater
Unregistered / Unconfirmed
GUEST, unregistred user!
有一段代码在VC下面没有问题,代码大致如下:<br>定义了一个Struct<br> typedef struct Deliverstr<br> { <br> .......<br> } <br>定义了两个函数 <br> void PDeliver(DeliverStr deliver)<br> integer send(PDeliver pdeliver);<br> <br> 最后就是执行函数send,这应该就是传说中的回调函数吧。[8D]<br> 好了,我现在想把他转化为delphi。<br> 定义struct就好说了<br> type<br> DeliverStr = packed record<br> ......... <br> end; <br><br>那两个函数我是这样定义的<br> type TDeliver = procedure(var deliver: DeliverStr);<br> function send(deliver: TDeliver): integer;<br><br>好了,问题是这样的,在VC中能够得到正确数据的现在全乱套了,得到的都是乱码,我怀疑是不是VC和delphi的调用方式不同,故我想到给TDeliver加上Stdcall,但是当我将 <br> type TDeliver = procedure(var deliver: DeliverStr);加上这个stdcall时,情形反而更糟,程序一声不响就关掉了。<br> why?<br>