变量的作用域 ( 积分: 0 )

  • 主题发起人 主题发起人 FlashDance
  • 开始时间 开始时间
F

FlashDance

Unregistered / Unconfirmed
GUEST, unregistred user!
program Project1;
uses
Forms,SysUtils,Windows,Classes,
UnitMain in 'UnitMain.pas' {FrmMain};
{$R *.res}
var
SysDir:PChar;
Res:TResourceStream;
这里面定义的变量是全局的,还是局部的?
 
program Project1;
uses
Forms,SysUtils,Windows,Classes,
UnitMain in 'UnitMain.pas' {FrmMain};
{$R *.res}
var
SysDir:PChar;
Res:TResourceStream;
这里面定义的变量是全局的,还是局部的?
 
虽然定义此处,仍然是局部的
 
此处变量什么时候才会释放?
 
这只是一个局部变量。
program 终止时释放,应该也可以在执行中释放。
 
program终止时释放?那就是全局变量了!
 
一般简单的来说:
1、工程变量:在工程单元里设置,工程全局使用
2、单元变量:即单元内部变量。
public中:表示其他单元调用此单元时,可以直接使用变量
其他为私有变量。
3、过程变量:即过程中定义的变量。只在过程中有意义。
 
我所问的问题,是楼上所说的第一种情况了?
 
属于工程文件.dpr内部的全局变量,相当于在Unit的Implementation部分定义的变量,在程序结束时释放占用内存。能够说明这一点的是,在工程的任意单元中都无法引用这种变量,而在begin
end.
之前你可以自定义函数,在这些函数中使用这种变量。
 
后退
顶部