求助,难道程序运行时生成的控件都不能永久保存吗?

wjs_002 2012-03-13 08:47:54
我想在程序运行时,动态生成一些panel、edit、label等,但这些控件好象不能永久保存,大家有办法吗?
请大家指点,谢谢!
...全文
241 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
wjs_002 2012-03-15
  • 打赏
  • 举报
回复
感谢大家的指点,给分结帖。
shuaialang 2012-03-15
  • 打赏
  • 举报
回复
把信息保存起来,载入读取啊
Focus_Robot 2012-03-15
  • 打赏
  • 举报
回复
呵呵,希望楼主清楚的描述一下问题!
无条件为你 2012-03-15
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 skap 的回复:]
保存在exe中比保存到其它文件中复杂太多了吧。
当然也可以任何编程语言都不用写程序,现实中有人这么干吗?
……
[/Quote]

保存到exe中不复杂,代码不超过100行(每行都很短)。你保存到其它文件中,万一对方重装系统了怎么办?万一别人把你的exe复制到其它机器上打开怎么办?


[Quote=引用 15 楼 key_ok 的回复:]
大牛,能否给个 edit保存 例子好吗??? 谢谢!……
[/Quote]

你可以开个200分的贴子向我提问。注意是一个贴子,如果是发多个贴子凑够二百分,我是不会去回答的。
大悟还俗 2012-03-15
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 mwy654321 的回复:]
引用 14 楼 skap 的回复:
保存在exe中比保存到其它文件中复杂太多了吧。
当然也可以任何编程语言都不用写程序,现实中有人这么干吗?
……


保存到exe中不复杂,代码不超过100行(每行都很短)。你保存到其它文件中,万一对方重装系统了怎么办?万一别人把你的exe复制到其它机器上打开怎么办?



引用 15 楼 key_ok 的回复:
大牛,能否给个 edit保存……
[/Quote]

好了,我早该不对你抱希望的……
skap 2012-03-14
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 mwy654321 的回复:]

引用 4 楼 jzwfguoeh 的回复:
动态生成的控件只是个变量而已,不能保存在可执行文件中的。


错,你这种说法绝对错误。exe中可以保存数据的!如果你研究过病毒感染技术,你就不会这么说了!

简况举个例子:你的程序中有一个edit,你想在edit中输入一些数据,然后关闭exe,再打开,此时edit中还保持你上次输入的数据。而且不借助于任何处部文件,不写注册表。就算你将exe……
[/Quote]

保存在exe中比保存到其它文件中复杂太多了吧。
当然也可以任何编程语言都不用写程序,现实中有人这么干吗?
http://www.hackbase.com/tech/2009-09-06/55750_1.html
大悟还俗 2012-03-14
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 mwy654321 的回复:]
引用 4 楼 jzwfguoeh 的回复:
动态生成的控件只是个变量而已,不能保存在可执行文件中的。


错,你这种说法绝对错误。exe中可以保存数据的!如果你研究过病毒感染技术,你就不会这么说了!

简况举个例子:你的程序中有一个edit,你想在edit中输入一些数据,然后关闭exe,再打开,此时edit中还保持你上次输入的数据。而且不借助于任何处部文件,不写注册表。就算你将exe用……
[/Quote]

大牛,能否给个 edit保存 例子好吗??? 谢谢!
无条件为你 2012-03-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jzwfguoeh 的回复:]
动态生成的控件只是个变量而已,不能保存在可执行文件中的。
[/Quote]

错,你这种说法绝对错误。exe中可以保存数据的!如果你研究过病毒感染技术,你就不会这么说了!

简况举个例子:你的程序中有一个edit,你想在edit中输入一些数据,然后关闭exe,再打开,此时edit中还保持你上次输入的数据。而且不借助于任何处部文件,不写注册表。就算你将exe用优盘拷到另外一台电脑上打开,edit中仍然保持了你上次的输入数据。

可以实现的!
无条件为你 2012-03-13
  • 打赏
  • 举报
回复
楼主,别听他们乱说。想动态保存很简单。我这里以Button为例给你写个。不过你给的这分也太少了,唉!

procedure TForm1.Button1Click(Sender: TObject);
var
aButton: TButton;
MS: TMemoryStream;
begin
aButton := TButton.Create(self);
aButton.Parent := Form1;
aButton.Caption := 'test';
Ms := TMemoryStream.Create;
Ms.WriteComponent(aButton);
Ms.SaveToFile('save.file');
Ms.Free;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
aButton: TButton;
MS: TMemoryStream;
begin
Ms := TMemoryStream.Create;
Ms.LoadFromFile('save.file');
Ms.Position := 0;
aButton := TButton.Create(self);
aButton.Parent := Form1;
aButton := Ms.ReadComponent(aButton) as TButton;
Ms.Free;
end;
aa123191456 2012-03-13
  • 打赏
  • 举报
回复
永久保存,那你得有多大内存呀
kaikai_kk 2012-03-13
  • 打赏
  • 举报
回复
既然动态的生成,还保存做什么,要保存也是保存他相关的属性。下次根据此属性来创建
haitao 2012-03-13
  • 打赏
  • 举报
回复
想下次运行也自动生成,可以在关闭是保存相关属性到ini,下次运行时读取ini再自动生成
jzwfguoeh 2012-03-13
  • 打赏
  • 举报
回复
动态生成的控件只是个变量而已,不能保存在可执行文件中的。
mhhaifeng 2012-03-13
  • 打赏
  • 举报
回复
[Quote=引用楼主 wjs_002 的回复:]
我想在程序运行时,动态生成一些panel、edit、label等,但这些控件好象不能永久保存,大家有办法吗?
请大家指点,谢谢!
[/Quote]

不明白你的意思。
你是不是想说,panel、edit、label的作用域?
你动态生成的是局部变量,不能全局使用?

把panel、edit、label 变成全局变量就行了
yangxk120 2012-03-13
  • 打赏
  • 举报
回复
动态生成的肯定是不能持久的,否则就用静态的
我看见佛 2012-03-13
  • 打赏
  • 举报
回复
控件好象不能永久保存?是什么意思?你关闭程序内存释放后当然就消失了,,

或者你是创建控件后释放了些控件?
ADSLAN 2012-03-13
  • 打赏
  • 举报
回复
关闭时 记录下动态生成的组件的属性 下次启动时再自动创建
SVIP_ 2012-03-13
  • 打赏
  • 举报
回复
不知所云, 体育老师教的语文
鐵蛋 2012-03-13
  • 打赏
  • 举报
回复
你的靜態控件是form創建的時候創建的,動態的是點擊按鈕生成的,只是看起來靜態控件已打開就有了而已
英年渐肥 2012-03-13
  • 打赏
  • 举报
回复
什么叫永久保存。程序退出就自然销毁了

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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