如何判断流对象是否建立 就是是否create 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 if Object1 <> nil then ...或者if Assigned(Object1) then 好像不行 var d:TMemoryStream;begin //d:=nil; 难道我还要加这句 if Assigned(d) then ShowMessage('ss');ps:流对象在局部变量 在声明后编译器是否做了什么操作? varedt:TEdit;if assign(edt) then edt.text:='aaa'; 你试过这段代码吗 我试了一下assign(edt)是true难道是我的编译选项设置到什么 全局变量:如果我们在应用程序一个单元中的interface关键字和implementation关键字之间的区域,定义一个全局变量,假如这个单元在别的地方被引用,那么这个单元的全局变量能够在别的地方被访问到,当然我们也可以在应用程序一个单元中的implementation关键字的后面定义全局变量,不过此时在这里定义的全局变量只能在本单元中被访问到,也就是说它是这个单元私有的,在别的单元中将不能被访问到。全局变量在应用程序的数据区分配内存,它存在于可执行模块(EXE或DLL等)的文件影像内部,在程序编译期就被决定,直到应用程序结束,全局变量所占用的内存地址是固定不变的。全局的非指针类型,声明后自动分配内存,并初始化值。全局的指针类型,声明后不自动分配内存,值为nil。局部变量:我们可以在函数或方法(包含过程)中定义局部变量,局部变量在应用程序的栈上进行分配,并且总是在栈上分配!局部变量的内存是在函数或方法(包含过程)被调用时分配,在函数或方法(包含过程)调用结束时其内存被释放。由于函数或方法(包含过程)在每次被调用时,栈顶可能发生变化,因此局部变量的内存地址是变化的,局部的非指针类型,声明后自动分配内存,不初始化值,值不确定(取决与别的程序对这块内存的操作)。局部的指针类型,声明后不自动分配内存,但会随机指向一个地址,所以地址不为nil注:这里我们不提倡用全局变量,而尽可能的用局部变量,假如必须用到全局变量,我们可以将这个全局变量在类(比如TForm)的成员区域声明或定义。对于局部变量我们则应多加小心,由其是它在定义时不像全局变量一样被初始化,在程序中不注意则会隐藏巨大的风险,因此在使用局部变量时,一定要先初始化,再使用!全文在这里------------------------------------------http://www.cnblogs.com/Stwo/archive/2011/07/11/2102816.html 主要就是 局部变量没有初始化 全局变量会被初始化局部的指针类型,声明后不自动分配内存,但会随机指向一个地址,所以地址不为nil全局的指针类型,声明后不自动分配内存,值为nil。在使用局部变量时,一定要先初始化,再使用! indy 如何屏蔽超时链接的红框 Windows7 终于要来了,我的老奔不会再也奔不动了(P4 3.0E HT+1G DDR400) 用不用ID字段呢? 数字排列问题 keydown中关于ctrl+vk_up,高手请进 急!!!如何调用后缀为chm的外部程序?!!!! 各位高手请帮我看一下这段程序。 能力?文凭?来者有分 帮忙看看这段代码 一则消息,与大家共享。 ERP框架DELPHI原始代码 TrayIcon控件在哪里 delphi
...或者
if Assigned(Object1) then
d:TMemoryStream;
begin
//d:=nil; 难道我还要加这句
if Assigned(d) then
ShowMessage('ss');
ps:流对象在局部变量 在声明后编译器是否做了什么操作?
edt:TEdit;if assign(edt) then
edt.text:='aaa';
难道是我的编译选项设置到什么
如果我们在应用程序一个单元中的interface关键字和implementation关键字之间的区域,定义一个全局变量,假如这个单元在别的地方被引用,那么这个单元的全
局变量能够在别的地方被访问到,当然我们也可以在应用程序一个单元中的implementation关键字的后面定义全局变量,不过此时在这里定义的全局变量只能在本
单元中被访问到,也就是说它是这个单元私有的,在别的单元中将不能被访问到。全局变量在应用程序的数据区分配内存,它存在于可执行模块(EXE或DLL等)的
文件影像内部,在程序编译期就被决定,直到应用程序结束,全局变量所占用的内存地址是固定不变的。全局的非指针类型,声明后自动分配内存,并初始化值。
全局的指针类型,声明后不自动分配内存,值为nil。局部变量:
我们可以在函数或方法(包含过程)中定义局部变量,局部变量在应用程序的栈上进行分配,并且总是在栈上分配!局部变量的内存是在函数或方法(包含过程)
被调用时分配,在函数或方法(包含过程)调用结束时其内存被释放。由于函数或方法(包含过程)在每次被调用时,栈顶可能发生变化,因此局部变量的内存地
址是变化的,局部的非指针类型,声明后自动分配内存,不初始化值,值不确定(取决与别的程序对这块内存的操作)。局部的指针类型,声明后不自动分配内存,
但会随机指向一个地址,所以地址不为nil
注:
这里我们不提倡用全局变量,而尽可能的用局部变量,假如必须用到全局变量,我们可以将这个全局变量在类(比如TForm)的成员区域声明或定义。
对于局部变量我们则应多加小心,由其是它在定义时不像全局变量一样被初始化,在程序中不注意则会隐藏巨大的风险,因此在使用局部变量时,一定要先
初始化,再使用!全文在这里------------------------------------------
http://www.cnblogs.com/Stwo/archive/2011/07/11/2102816.html
但会随机指向一个地址,所以地址不为nil全局的指针类型,声明后不自动分配内存,值为nil。在使用局部变量时,一定要先初始化,再使用!