函数声明是否正确,主要是压栈方式。
C的缺省压栈方式是cdecl,而Delphi这是register,你不妨把Delphi的函数声明和C地函数声明都贴出来看看。
C的缺省压栈方式是cdecl,而Delphi这是register,你不妨把Delphi的函数声明和C地函数声明都贴出来看看。
解决方案 »
- 关于线程卡死的问题
- Access violation at address 7C80A2D8 in module 'kernel32.dll'???
- 为什么INDY中的IdTCPClient和IdTCPServer中的例子,关闭时出现错误,总是有BUG啊?
- 第二次动态调用动态链接库后出问题---急!!!
- 如何实现在运行界面中对选中的listview行的子项内容的修改?多谢了
- 如何将一个字符转换成integer型?
- help!help!如何保证一个应用程序只启动一次。
- dbgrid列头排序问题
- 怎么修复磁盘?
- 如何在Delphi中实现在运行时动态用鼠标修改控件的大小,位置改变已经解决.高分!
- 两个变量计算再比较,用sql和delphi写要怎么样?
- ADO连ACCESS问题,出错
如:
long C1ctrl::r()
{
return 1222; }
结果在中调用此函数结果不正确.
我的调用方法如下:
控件名为:c1 var
ret:integer;
ret:=c1.r(); 调试结果为很大的一个值
如果我把返回值放在参数表中,运行结果是正确的,
如:
void CMyAcxCtrl::f1(strTmp inStr,long reply)
{
.....
reply:=122;
}
在delphi 下测试没问题.而一旦将采用以下方式:
long CMyAcxCtrl::f1(strTmp inStr)
{
......
return 122;
} 在delphi 下测试
var
ret:Longint;
.......... ret:= myacx1.f1('111');
结果不对;而且我试过其他类型的返回值都不对.
束手无措.