当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: Calling conventions(调用约定) 在声明过程或函数时,你可以使用下面的指示字之一来指明调用约定:register、pascal、cdecl、stdcall以及safecall。
 

 

    摘要:其实autoinc字段很有价值,它提供了一个没有意义的唯一id,在很多场合都需要。(注意,通常的物料代码,身份证号,卡号等等现实属性都有意义,可能需要修改,不能用来做主键!最好采用无意义主键)但是delphi用ado(dbexpress我没有试过)连接关系数据库,在insert/apend post后,autoinc字段的值总为0(连access可以获得新值),这样在界面上不好看,而且不能刷新数据......
    摘要:今日开发遇到一个错误:delphi 7.1。使用ado连接sql server,book_adoquery有一个lookup字段,每当insert/append的时候ide就会弹出一个错误:an unknown error has occurred -- eoleexception跟踪发现错误来源于vcl locaterecord方法的flookupcursor.findfunction tcus......


delphi的调用约定

calling conventions(调用约定)

【程序编程相关:实现QQ窗体的缩入伸出功能

【推荐阅读:singleton之我见

【扩展信息:如何判断一个机器的MSSQL是否启动

   在声明过程或函数时,你可以使用下面的指示字之一来指明调用约定:register.pascal.cdecl.stdcall以及safecall.比如,

function myfunction(x, y: real): real; cdecl;

...

      调用约定决定了参数被传递给例程的顺序,它们也影响从堆栈中删除参数.传递参数时寄存器的使用,以及错误与异常处理.默认的调用约定是register.

• register 与pascal 调用从左到右传递参数,也就是说,最左边的参数最早被计算并传递,最右边的参数最后被计算与传递;cdecl.stdcall 与safecall 调用从右到左传递参数;

• 除了cdecl 调用,过程与函数在返回之前从堆栈中移除参数,而使用cdecl,当调用返回时,调用者从堆栈中移除参数;

• register 调用能使用多达3 个cpu 寄存器传递参数,而其它调用则全部使用堆栈传递参数;

• safecall 调用实现了异常“防火墙”,在windows 下,它实现了进程间com 错误通知.

下面的表格对调用约定进行了总结:


...   下一页
 ·codecolor相关(一) 背景     »显示摘要«
    摘要:? 第一部分:背景 一、本人背景 专业:土木工程;工作:空军某场站战勤参谋;在工作中使用计算机主要是文本编辑,编程序纯属个人爱好,业余中的业余编程爱好者,由于水平实在有限,此次公开代码着实下了好大一番决心 。 二、程序背景 到 csdn 的 blog 浏览时,发现大部分源码添加进网页后格式都丢失了,再加上没有语法着色,看起来比较困难。偶尔发现有的网页中显示的代码和在 ide 中的效果一样,......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE