关于全局变量的问题!

firewing 2001-06-16 12:16:00
我想动态的创建一些对象!但事先不知道要创建的对象的数目(只能有个大约数!)
而且是全局调用的!
请教各位大虾有和良法?
...全文
224 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
firewing 2001-06-24
  • 打赏
  • 举报
回复
谢谢!
Xb_xj 2001-06-23
  • 打赏
  • 举报
回复
动态数组
光明山人 2001-06-23
  • 打赏
  • 举报
回复
动态数组可以定义多次的:

SetLength( a, 100 ); // 这里定义一次
SetLength( a, 1000 ); // 变为1000个,没问题!
SetLength( a, 50 ); // 变为50个,没问题!

如果是想动态增加和减少成员,那就用TObjectList (Delphi 5中增加的, 若是D4就用TList或TStringList吧)。
不过如果用全局变量,必须在定义这个全局的单元的最下面(当然得在“end.”之前)这样写:
initialization
FObjList := TObjectList.Create;
// 如果你需要它自动销毁对象,加上:FObjList.OwnsObjects := True;
finalization
FObjList.Free;

enlightenment 2001-06-23
  • 打赏
  • 举报
回复

用TColleation类、TCollectionItem类组合扩展,例子:

TStateBar中可以包含不定个数的TPanel组件!

看VCL源代码吧!

:)
firewing 2001-06-23
  • 打赏
  • 举报
回复
up
firewing 2001-06-21
  • 打赏
  • 举报
回复
难道我们就能这样浪费资源?
firewing 2001-06-18
  • 打赏
  • 举报
回复
我一直就是用数组的,只是想知道有没有更好的办法?
虽然数组可以动态定义长度,但也只能定义一次。这样的话还是有资源浪费的!
ch81 2001-06-18
  • 打赏
  • 举报
回复
错了.
256M,300RMB
airhorse 2001-06-18
  • 打赏
  • 举报
回复

128m,1500元
ch81 2001-06-18
  • 打赏
  • 举报
回复
你动态定义后,可以FREE释放。
m_leaner 2001-06-17
  • 打赏
  • 举报
回复
最好不要过多的使用全局变量。
ch81 2001-06-16
  • 打赏
  • 举报
回复
如一个INTEGER型数组
var MyInt:Array of Integer;
implememtation
........//在那个需要创建的地方中用SETLENGTH

procedure TForm1.OnCreate
begin
SetLength(MyInt,4);//开辟4个长,也可是一个经计算出的变量。
MyInt[1]:=100;//就可用了
end;
xBinf 2001-06-16
  • 打赏
  • 举报
回复
使用动态数组,数组的类型是你要创建的对象类型。如:
var
dArray:array of yourObjectType;
i:integer;
...
i:=30;//对象的数量
SetLength(dArray,i);
...

firewing 2001-06-16
  • 打赏
  • 举报
回复
我事先都不知道要用多少个?如何定义?定义对象数组?
airhorse 2001-06-16
  • 打赏
  • 举报
回复
全局变量
BigBen 2001-06-16
  • 打赏
  • 举报
回复
和变量有什么关系?只要你的windows还能run,创建多少都没关系。。

interface

var
btn:TButton;

type
tform1=class(TFORM)
.....
var
form1:TForm1;
implementation

tform1.button1click(sender:Tobject);
begin
btn:=tbutton.create(self);
btn.parent:=form1;
btn.show;
end;
end;





Crob 2001-06-16
  • 打赏
  • 举报
回复
可以用动态数组,指针数组,控件数组。

定义成全局的就行了,使用控件数组时要为每个数组成员指定.tag属性,这样才能在事件中来识别是哪个控件成员的响应

5,388

社区成员

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

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