说句实话 我越来越不了解Delphi了

strangefay 2012-03-04 09:38:24
不敢说自己是老鸟, 但是用Delphi也这么多年了
最近总在做异构程序的接口工作
却发现Delphi(BCB也一样)越来越操蛋了, 背地里做了太多的自以为是的东西,
我觉着我是越来越不懂Delphi了
...全文
232 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzwcn 2012-03-05
  • 打赏
  • 举报
回复
现在的人怎么了,遇到点小问题总是抱怨、想当然
haitao 2012-03-05
  • 打赏
  • 举报
回复
很早以前的webservice跨语言互通,就发现xml的“标准”其实与java的“一次编译到处运行”一样,只是商业噱头而已
kaikai_kk 2012-03-05
  • 打赏
  • 举报
回复
不懂Delphi的飘过
「已注销」 2012-03-05
  • 打赏
  • 举报
回复
调用约定,学习一下
s11ss 2012-03-05
  • 打赏
  • 举报
回复
delphi的函数默认调用约定是register[Quote=引用 6 楼 pathletboy 的回复:]
delphi的函数默认调用约定是pascal,你看下你dll函数的调用约定,可能为cdecl或者stdcall.
[/Quote]
和海风 2012-03-05
  • 打赏
  • 举报
回复
不知道楼主怎么看调用约定,是否熟悉Delphi的默认调用约定是什么,入栈顺序和清栈工作
程晨c 2012-03-05
  • 打赏
  • 举报
回复
“最近总在做异构程序的接口工作”,异构是指什么意思?
pathletboy 2012-03-04
  • 打赏
  • 举报
回复
delphi的函数默认调用约定是pascal,你看下你dll函数的调用约定,可能为cdecl或者stdcall.
无条件为你 2012-03-04
  • 打赏
  • 举报
回复
DELPHI和VC参数入栈顺序不同。
s11ss 2012-03-04
  • 打赏
  • 举报
回复
Cdecl
strangefay 2012-03-04
  • 打赏
  • 举报
回复
无论是传值还是传址都是一样的结果
换VC一切正常
strangefay 2012-03-04
  • 打赏
  • 举报
回复
上面打错了 函数定义是这样
function ClickSvc(Param: Integer):Integer;
strangefay 2012-03-04
  • 打赏
  • 举报
回复
说个简单的例子 DelphiXE2 与 VS2008.Net dll进行转接


function ClickSvc(var Param: Integer):Integer;

implementation

function ClickSvc(var Param: Integer):Integer;
var
WSIServer: MIVCServiceSoap;
begin
ShowMessage(IntToStr(Param));
WSIServer:= GetMIVCServiceSoap(True, '');
Result:= WSIServer.Click(Param);
end;




[DllImport("LibSTFAY.dll", CallingConvention=CallingConvention.Cdecl)]
static extern int ClickSvc(int param);


参数居然接收的有问题

828

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧