Delphi 变量

dolemin 2002-04-24 04:22:57
以下三处变量有什么区别,当为它们只赋值一次后,它们的值是否在整个程序运行时始终保存不变,而无论你如何引用它。

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type
TForm1 = class(TForm)
//////////////////////////////////////1
private
{ Private declarations }
public
{ Public declarations }
/////////////////////////////////2
end;
var
Form1: TForm1;
/////////////////////////////////3
implementation
{$R *.DFM}
end.

...全文
41 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
dolemin 2002-04-24
  • 打赏
  • 举报
回复
如何分配内存
lance 2002-04-24
  • 打赏
  • 举报
回复
>>可是我定义的结构类型的全局变量值,中途却成了变量值的前一部分+乱码,请问>>后半部分怎被覆盖了
把代码贴出来看看。
lance 2002-04-24
  • 打赏
  • 举报
回复
//////////////////////////////////////1
这里是published
dolemin 2002-04-24
  • 打赏
  • 举报
回复
一个变量不是在创建时就已自动分配内存了吗?使用Setlength吗?
newwen 2002-04-24
  • 打赏
  • 举报
回复
结构变量记住先分配内存,正确操作不会出现你的情况,该好好打实基础
dolemin 2002-04-24
  • 打赏
  • 举报
回复
可是我定义的结构类型的全局变量值,中途却成了变量值的前一部分+乱码,请问后半部分怎被覆盖了
ihihonline 2002-04-24
  • 打赏
  • 举报
回复
呵呵,上边都说了,够多了
Mudeen 2002-04-24
  • 打赏
  • 举报
回复
我的理解是:声明一个类的变量只是说明对它的一个引用,并没有实际分配内存,而实例则是类的具体对象,它被分配了内存,当有变量指向它是就能运用该变量对它进行操作
smhpnuaa 2002-04-24
  • 打赏
  • 举报
回复
我认为变量和实例没有本质区别!

img:TBitmap;//一个变量定义

img:=TBitmap.create;//产生一个实例

在第三处声明的变量或实例,并在以后某个时刻被赋值,这个值所在的内存区域不会被改动,除非你再次赋值!

smhpnuaa 2002-04-24
  • 打赏
  • 举报
回复
基础的东西啊!

有汇编基础的人,很容易理解变量的概念啊!
dolemin 2002-04-24
  • 打赏
  • 举报
回复
那么请问变量和实例有何区别?
我在第三处声明的变量或实例,并在以后某个时刻被赋值,这个值是否一直存在?
CodeDuDu 2002-04-24
  • 打赏
  • 举报
回复
1.
type
TForm1 = class(TForm)
//////////////////////////////////////1
private
{ Private declarations }
public
{ Public declarations }
/////////////////////////////////2
end;


3.

var
Form1: TForm1;
/////////////////////////////////3

Form1是类TForm1的一个实例。



此段为类TForm1的类定义。
TForm1是从继承至TForm的一个类。

2.

public
{ Public declarations }
/////////////////////////////////2
此处声明的变量是类TForm1的成员,公有类型变量,可供其它类调用。

newwen 2002-04-24
  • 打赏
  • 举报
回复
TForm1 = class(TForm)
//1此处为delphi自动声明变量,你不可以在此自己声明变量
private
{ Private declarations }
//此处为TForm1的私有变量区,其他类(包括继承类,同一单元声明的除外)不可使用
public
{ Public declarations }
///2此处为TForm1的公共变量区,其他类可使用

end;
var
Form1: TForm1;
//3此处为全局变量区,本单元和引用本单元的都可使用
implementation
//此处为全局变量区,只有本单元可使用
{$R *.DFM}
end.
ActiveLF 2002-04-24
  • 打赏
  • 举报
回复
1处不能写变量,不符合语法。
2处为类里面的公共变量
3全局变量,只要在别的unit面把这个unit的名字use进取,你就可以引用这个unit里面的全局变量了。
bxliu 2002-04-24
  • 打赏
  • 举报
回复
1.可以定义CLASS的域和方法
2。定义你的变量可以被其它类引用
sillyer 2002-04-24
  • 打赏
  • 举报
回复
1。是定义tform1为class类的一种类型。
2。是定义你的变量为class类的public公用类型;
3。实例化。

我也初学Delphi,可能理解不当,欢迎指出

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧