转自:http://blog.csdn.net/haiou327/article/details/6666124

delphi中nil的用法

和C++中的NULL一样的意思,指空值,它和0值不一样~~

  nil就是空指针~~  
  指针表示的就是内存的一个地址~~(数据存放位置)~~  
  nil就表示空地址~~   
  例如:
  说对一个TImage中的图片进行清空:  
  Image1.Picture:=nil;   
  对象也是指针,如上的Image1就是一个对象指针~~   
  当一个对象没有创建的时候它的值一般为空,也就是nil
  程序在读取数据的时候必须知道数据所存放的位置~~  
  就是说所有的变量读取都离不开指针~~     
  由于指针也是数据所以指针也有自己的存储地址~~  
  当然就可以用一个指针来定位另一个指针~~     
  指针其实是一32位(4Byte)的数值~~  
  nil就是数值为0的指针~~  
  begin  
      if   nil   =   Pointer(0)   then  ShowMessage('没有骗你吧!')  
  end;      
  能够去思考nil是什么很不错~~  
  但计算机领域是一个完整并且严谨的体系~~  
  必须从最基本的地方一步一步去了解~~  
  要了解nil是什么就必须去思考~~  
  指针是什么?~~  
  数据是什么?~~  
  内存是什么?~~  
  计算机工作的原理~~  
  数据存储的机制~~  
  数据结构和算法~~  
  编程言语设计思想~~  
  操作系统的运行环境~~  
  开发工具的背景资料~~      
  计算机是很傻的~~  
  要和它对话就必须按照它所掌握的规则~~  
  只有在规则之上,你才能自由驾御它~~  
  NULL与NIL到底有什么区别?
  NULL   是字符串为空 ,  NULL是无值无类型;
  NIL     是指针为空,NIL是空指针型 ;
  nil是空指针,而NUll是空变量;
  ''也是字符串,不过是空串,但它不是没有,不是null;  
  Null通常用来表示一个没有初始化的对象;
消息过程的触发机制的原理是什么?
系统中发生了某个事件,WINDOWS把事件翻译为消息,
防到消息对列中,应用程序从消息队列中接受到这个消息
,把他存放到TMSG记录中应用程序把消息传递给一个适当的窗口,
实际上是这个窗口的窗口过程。窗口过程对这个消息进行处理
有的程序有消息过程?不知道你指的是重载的消息呢还是窗口过程。  
对于重载的消息,就是加入你自己的代码,你自己要对这个消息作出反应。  
其实也没有什么特别的地方,delphi封装了大部分windows消息,但是也没有剥夺我们对其直接处理的利。  
另外,事件也是属性,在delphi代码提示模板中显示出来!
在次说明一下参数的传值原理?
对象、字符串。因为它们实质就是指针。你修改指针所指的内容,自然会影响到函数或者过程之外的数据。

转delphi中nil的用法的更多相关文章

  1. Delphi中ClientDataSet的用法小结

    Delphi中ClientDataSet的用法小结 TClientDataSet控件继承自TDataSet,其数据存储文件格式扩展名为 .cds,是基于文件型数据存储和操作的控件.该控件封装了对数据进 ...

  2. delphi中webbrowser的用法

    WebBrowser1.GoHome; //到浏览器默认主页 WebBrowser1.Refresh; //刷新 WebBrowser1.GoBack; //后退 WebBrowser1.GoForw ...

  3. Delphi 中 断言 Assert 用法

    procedure Assert(expr : Boolean [; const msg: string]); 用法:   Assert(表达式,[显示信息]); 如果为假, assert会产生一个E ...

  4. Delphi 中 paramstr 的用法及参数意义

    原型         function   paramstr(i:index):string         对于任何application paramstr(0)都默认代表的是应用程序的绝对路径.那 ...

  5. DELPHI中MessageBox的用法

    MessageBox对话框 输入控件的   ImeName属性把输入法去掉就默认为英文输入了 MessageBox对话框是比较常用的一个信息对话框,其不仅能够定义显示的信息内容.信息提示图标,而且可以 ...

  6. Delphi中paramstr的用法

    原型                function   paramstr(i:index):string        对于任何application paramstr(0)都默认代表的是应用程序的 ...

  7. Delphi中nil和null的区别

    nil:空指针,空地址,对象也是指针,可以object := nil;null:是一个未定义值的变量,既不是0也不代表空字符串,它是未定义的.

  8. DELPHI中MessageBox的用法 (转)

    MessageBox对话框 输入控件的   ImeName属性把输入法去掉就默认为英文输入了 MessageBox对话框是比较常用的一个信息对话框,其不仅能够定义显示的信息内容.信息提示图标,而且可以 ...

  9. delphi中nil、null、UnAssigned区别

    nil:空指针,空地址,对象也是指针,所以可以object := nil;null:null是一个未定义值的变量,既不是0也不代表空字符串,它是未定义的.http://www.delphibasics ...

随机推荐

  1. MQTT协议之 Apache Apollo服务

    一.说明 MQTT是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分.该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和致动器(比如通过Twitter让房屋联网) ...

  2. 【 VS 插件开发 】二、了解Vs插件结构

    [ VS 插件开发 ]二.了解Vs插件结构

  3. HDU 5890 Eighty seven

    预处理,$01$背包,$bitset$优化. 可以预处理出每一种询问的答案,用$01$背包计算答案,$dp[i][j][k]$表示,前$i$个数字中,选择了$j$个,能否凑出$k$这个数字,可以开成$ ...

  4. 浅谈html入门

    一. 学习web前端开发基础技术需要掌握:HTML.CSS.JavaScript语言.下面就来了解下这三门技术都是用来实现什么的:1. HTML是网页内容的载体.内容就是网页制作者放在页面上想要让用户 ...

  5. 键盘快速启动工具Launchy的简单使用技巧

    打开电脑面对林林总总的图标,找到对应的程序,快速启动显得尤为重要.这样有利于提高我们的效率. 好了,直接上图: 就是这款小巧的工具,界面如上. 接下来介绍这款工具的使用技巧. 1.安装成功后:打开工具 ...

  6. 4-Bom&Dom总结篇

    其实Bom就是指浏览器的东西,比如弹窗啊.浏览器信息啊等 而Dom则是指文档的东西,就是浏览器里边html的东西,如元素啊.属性啊.事件什么的 但Bom的唯一顶层对象window又包含Dom的顶层对象 ...

  7. shell-逐行读取文件

    代码: #!/bin/bash echo 方法1 while read line do echo $line; done < testdata echo "" echo 方法 ...

  8. Android记住密码自动登录的实现

    我采用的是SharedPreferences来存取数据的,所以先简单的介绍一下SharedPreferences SharedPreferences是Android平台上一个轻量级的存储类,主要是保存 ...

  9. 页面加载与iframe加载函数

    <head> <script> $(document).ready(function(){ alert("a");   var wait = documen ...

  10. 最新Node.js 资源汇总

    Node.js 资源汇总 文档 Node.js 官方文档:http://nodejs.org/api/ Node.js 中文文档:http://nodejs.jsbin.cn/api/ Express ...