关于全局变量的问题(50分)

L

ls_hndd

Unregistered / Unconfirmed
GUEST, unregistred user!
我想设一个全局变量供系统的各个form及自定义函数和过程使用,请问如何在项目文件中定义?如何在form及自定义函数和过程调用?[?]
 
你定义一个公用的单元就行了,在每个FORM中都将这个单元添加进去。就是防在最上面的的
USE里面就行了。
 
同意楼上
 
定义一个公共单元,并Uses 它
 
unit itspas

var

ValueName : ValueType ;

other unit :

use itspas
 
建议使用公用的DataModule,把公用的数据,按钮图片,自定义类型等都放在这里。
 
新建一个unit,定义全局变量,函数。
在每个form下uses。
 
谢各位,我说的是在项目文件中定义全局变量,在form及自定义函数和过程调用?在每个form下uses不是很麻烦吗?
 
如果是MDI,那么建议在
type
TFrmMain = class(TForm)
…………
end;
var
FrmMain: TFrmMain;
commvar1:string;
……
implementation
……

FrmMain创建后destroy前,在其他任何地方直接调用,就像调用FrmMain一样
 
如果是MDI,那么建议在
type
TFrmMain = class(TForm)
…………
end;
var
FrmMain: TFrmMain;
commvar1:string;//定义在这里
……
implementation
……

FrmMain创建后destroy前,在其他任何地方直接调用,就像调用FrmMain一样如:
var1:=commvar1;
 
如果不想自定义一个Unit的话,那只有在系统自带的Unit中添加一句你要定义的变量就可以呢!
 
把这些要公用的东东写成一个类.再调用这个类.并把它设为全局就行了.
 
type
TForm1 = class(TForm)
…………
end;
var
Form1: TForm1;
//在这里定义全局……
implementation
……

 
to sunrainwang:这种方式我已用过。因我看了《Delphi 5高级编程_IDE与面向对象编程》一书,在106页提到:“要声明整个项目的全局变量和常量,一般要在project1.dpr中声明”,我想使用这种方式。
 
方法很多种,关键看你的程序适合于那种方法。
如果是个BIG的,那么创建多一个unit是比较全适的,有时候还会有多个unit。
如果只是SMALL类的,那么随便放哪都可以,只要你能记住它就行了。
 
当工程大的时候,你写的类,定义的常量全部都包含到dpr文件中?
dpr内声明uses哪个unit。使用全局变量时同样要uses包含有全局变量的unit。
对我而言,怎样方便就怎样用。
 
同意楼上兄弟的意见.
 
dpr文件和普通Unit单元不同,它好象是不可以定义全局变量的,在这个文件中定义的变量只能在这个文件中使用,别的单元是不能使用的,
如果你说的那句话的确是在那本书上的话,那说明徐新华犯了一个常识性的错误.
 
同意影子^_^
 
在from1的public中加入定义的变量
在其它的单元中用的时候
只要,from1.变量名:=什么就行了
有点含糊,你试一下吧
 
顶部