DELPHI 参数前缀的使用
传值参数
传值参数可在过程内部修改,但过程返回时该修改不会反映出来。不
加任何前缀,就表示该参数为传值参数。
Procedure Foo( I : Integer );
I 的值被传递到Foo 过程。当Foo 返回时,在Foo 中对I 的修改不会
反映到I。
传递引用参数
用引用传递参数意味着传递了指向实际数据的一个指针。如果用 var
前缀,即指定用引用传递参数。被调用过程会改变该参数,修改将对实际
数据进行,过程返回时可以看到改变。
Procedure Foo( var I : Integer );
I 作为变量传递。当Foo 返回时,在Foo 中对I 的改变将反映到作为
参数传递到Foo 的实际变量。
传递常量参数
常量参数是不可改变的,即“可以看不能碰”。应尽可能地使用常量
参数,因为常量参数是可信赖的。从调用过程前直到过程返回后,常量参
数的值不会改变。
Procedure Foo( const I : Integer );
在 Foo 中无法改变 I ,结果在过程返回时 I 的值不会有任何变化。
传递只写参数
只写参数以out 关键字为前缀。out 关键字是为了与COM 接口兼容
而引入的。对被调用的过程来说,当参数声明中含有out 关键字时,该参
数的值没有任何特定的意义,而过程应该向该参数赋值。调用者可以预期
在过程返回时,out 参数已含有需要的值。
Procedure Foo( out I : Integer );
传给 Foo 的值将被废弃掉,当过程返回时对I 的改变将反映出来。在
使用引用传递参数这一点上,out 与var 相似。out 前缀是为支持COM而
添加的。
DELPHI 参数前缀的使用的更多相关文章
- Delphi 参数的传递
- delphi编写dll心得, 谢谢原作者的分享。转
delphi编写dll心得 1.每个函数体(包括exports和非exports函数)后面加 'stdcall;', 以编写出通用的dll2.exports函数后面必须加'export;'(放在'st ...
- 深入Delphi下的DLL编程
深入Delphi下的DLL编程 作者:岑心 引 言 相信有些计算机知识的朋友都应该听说过“DLL”.尤其是那些使用过windows操作系统的人,都应该有过多次重装系统的“悲惨”经历——无论再怎样小心, ...
- WebApi 参数请求
收藏来源于:http://www.cnblogs.com/babycool/p/3922738.html 路由配置到id post多个参数 ➕前缀 FromBody 参数为实体 对于一般前台页面发起的 ...
- python之参数解析模块argparse
2.7之后python不再对optparse模块进行扩展,python标准库推荐使用argparse模块对命令行进行解析. 简单入门 先来看个例子: argparse_test.py: import ...
- [Python进阶]001.不定参数
不定参数 介绍 元组参数 字典参数 混合 介绍 不定参数用 * 和 ** 定义 不定参数必须在其他所有参数之后 例子:os.path.join 方法就可以写入不定数量的参数 元组参数 定义:*args ...
- 我也来写:数据库访问类DBHelper
一.前言 相信许多人都百度过:“.net 数据库访问类”.然后就出来一大堆SqlHelper.我也用过这些SqlHelper,也自己写过,一堆静态方法,开始使用起来感觉很不错,它们也确实在很多时候可以 ...
- 视频直播点播nginx-rtmp开发手册中文版
2016年8月18日12:42:35 参照官方文档https://github.com/arut/nginx-rtmp-module/wiki/Directives 请注意这个是粗翻译版,仅供参考,不 ...
- 我也来写:数据库访问类DBHelper(转)
一.前言 相信许多人都百度过:“.net 数据库访问类”.然后就出来一大堆SqlHelper.我也用过这些SqlHelper,也自己写过,一堆静态方法,开始使用起来感觉很不错,它们也确实在很多时候可以 ...
随机推荐
- mysql初始(6)
随着mysql的运用不断加深,一些更复杂点的用法又需要总结起来. 1.将一个表中的数据插入到另一个表中: a.两张表字段相同,并且数据全部插入,命令如下: INSERT INTO 目标表 SELEC ...
- [剑指Offer] 12.数值的整数次方
[思路1]递归 class Solution { public: double Power(double base, int exponent) { ){ /base; exponent = -exp ...
- 全局 Ajax 事件处理器
jQuery中将Ajax请求和响应分成了若干(5)个阶段 并且允许开发者在Ajax请求和响应的不同阶处理不同的逻辑, 这些方法用于注册事件处理器,用来处理页面上的任何 Ajax 请求,当某些事件触发后 ...
- jcaptcha配置验证码
准备开始 首先导入jar包:jcaptcha-my-1.0 /** * web 常量 * @author lx * */ public abstract class Constants { /** 用 ...
- hadoop 集群常见错误解决办法
hadoop 集群常见错误解决办法 hadoop 集群常见错误解决办法: (一)启动Hadoop集群时易出现的错误: 1. 错误现象:Java.NET.NoRouteToHostException ...
- NotifyIcon控件
NotifyIcon就是系统托盘控件.通知区域中的图标是一些进程的快捷方式,这些进程在计算机后台运行,如防病毒程序或音量控制.这些进程不会具有自己的用户界面.NotifyIcon 类提供了编写此功能的 ...
- BZOJ1037 ZJOI2008生日聚会(动态规划)
设f[i][j][x][y]为安排了i个男孩j个女孩,后缀最大男孩-女孩数为x,最大女孩-男孩数为y的方案数.转移显然. #include<iostream> #include<cs ...
- hdu 6203 ping ping ping(LCA+树状数组)
hdu 6203 ping ping ping(LCA+树状数组) 题意:给一棵树,有m条路径,问至少删除多少个点使得这些路径都不连通 \(1 <= n <= 1e4\) \(1 < ...
- Notice : brew install php70
To enable PHP in Apache add the following to httpd.conf and restart Apache: LoadModule php7_module ...
- 支持jsonP的Controller写法
支持jsonP的Controller写法 package com.taotao.sso.controller; import org.apache.commons.lang3.StringUtils; ...