CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

函数和过程的保留字都有哪些?比如:register什么的,都有什么作用?

楼主jiangqiu(会上树的河马)2003-09-03 13:36:28 在 Delphi / VCL组件开发及应用 提问

函数和过程的保留字都有哪些?比如:register什么的,都有什么作用? 问题点数:20、回复次数:6Top

1 楼jiangqiu(会上树的河马)回复于 2003-09-03 14:05:30 得分 0

我可能记的不是很清楚,大概就是这个意思:fuction   a();export;其中export是用在DLL中说明是输出函数,可以动态调用(我说的没错吧),还有其他的呢?我忘了在哪里看到的了,好象是还有什么register,cover还有别的记的不是很清了Top

2 楼fhuibo(永远深爱一个叫“莎”的好女孩儿)回复于 2003-09-03 14:20:02 得分 0

function   a:   string;  
     
  result  
   
  procedureTop

3 楼yk_xiong(小熊)回复于 2003-09-03 14:46:02 得分 10

参数调用方式:  
  Register:    
      这个方式采用寄存器调用约定来传递参数,这是缺省的方式。  
   
  Pascal:    
      这种方式采用Pascal调用约定来传递参数,也就是采用栈传递的方式,传递次序从左到右,这种方式适用于调用动态链接库(DLL)中的例程,而这些例程是用其它语言编写的如C,C++。  
   
  Cdecl:    
      这种方式采用C/C++的调用约定,参数从右到左依次传递到栈中。这种方式适用于调用动态链接库中输出的例程,这些例程一般是C/C++写的。  
   
  StdCall:    
      这种方式采用Windows的标准调用约定来传递参数,传递次序从右到左,这种方式适用于调用Windows的API。  
   
  指示字:  
  assembler:  
      这个指示字表示过程或函数是用嵌入式汇编语言编写的。用了这个指示字后,编译器对参数的处理作了一些优化  
   
  External:  
      这个指示字适用于从DLL中导入过程或函数,表明过程或函数是外部的。  
   
  Forward   :  
          一般情况下,当您调用一个过程或函数时,被调用的过程或函数必须是在Type区已声明的,不过使用Forward指示字可以让编译器向前查找过程或函数的定义。  
  Top

4 楼yk_xiong(小熊)回复于 2003-09-03 15:04:29 得分 0

建议你看看Delphi帮助中的下列主题  
  Virtual   and   dynamic   methods  
  Overloading   methods  
  Calling   conventions  
  Forward   and   interface   declarations  
  External   declarationsTop

5 楼FrameSniper(http://naoku.net/blogs/framesniper/)回复于 2003-09-03 15:28:29 得分 10

Register是Delphi里面默认的过程或函数的调用约定,指明参数在什么地方存放,已经放入顺序,以及最后由谁来清空栈空间!  
   
  函数或过程的关键字除了上面说的这些(上面提到的Assembler应该不属于函数过程申明时使用的关键字,而且应该是asm而不是assembler),还有:  
   
  override   覆盖,实现多态  
   
  overload   重载,实现同名函数或过程  
     
  reintroduce   重新引入,实现对父类定义代码的放弃  
   
  Top

6 楼FrameSniper(http://naoku.net/blogs/framesniper/)回复于 2003-09-03 15:29:14 得分 0

对,还有个Forward!Top

相关问题

  • 谁有java的库函数集?(比如说数学函数,字符操作函数等,谢谢,在线等.....)
  • 如何调用一些Delphi中没有定义的函数,比如GetIfEntry函数
  • SQL中含函数,比如COUNT(*),怎样在JDBC接口中取出函数值????
  • vb中保留n位小数的函数是什么?
  • register_shutdown_function函数的问题
  • 如果声明一个函数比如说:(快来救我!!!)
  • ===关于Detours截获API函数,比如MessageBox===
  • 在Delphi编程中需要加入库函数,比如我需要使用ShellExecute函数就要加入ShellAPI
  • 请问哪有介绍oracle函数方面的资料,比如说to_date,to_char等函数。
  • 在SQL中有函数,比如COUNT(*),怎样通过JDBC调用获得函数值????

关键词

  • 函数
  • 调用
  • 指示字
  • 例程
  • 过程
  • 参数
  • 传递
  • 适用于
  • register
  • 方式

得分解答快速导航

  • 帖主:jiangqiu
  • yk_xiong
  • FrameSniper

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo