关于“跨窗体传递数据的问题”?

wcqun 2003-09-08 03:22:56
我有三个窗体form1,form2,form3。form1是主窗体,通过form1打开form2,再通过form2打开模式窗口form3。现在的问题是我要把一个在form1中的数据传递到form3中,应该如何处理(我是指不用全局变量的前提,因为很多人建议少用全局变量)?
...全文
31 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tomyang 2003-09-08
  • 打赏
  • 举报
回复
类的Public成员函数和Global全局变量不同。
现在编程鼓吹的不使用全局变量,个人不这样认为。全局变量有使用方便的好处,为什么不用。事实上,认为全局变量不好的原因有两个:1、可读性不强;2、在协作开发的情况下,由于管理不善造成全局变量命名和使用混乱。事实上global变量还不是一无是处,否则这个类型就应当被取消。
我认为全局变量和goto 语句一样应当小心使用而不是禁止使用。
有些偏题,有感而发
wcqun 2003-09-08
  • 打赏
  • 举报
回复
还有其它的吗?
struggle813 2003-09-08
  • 打赏
  • 举报
回复
增加属性Data:
TMyForm = class(TForm)
private
fData : Type;
function Getxx;
procedure Setxx(Value:Type);
published
property Data: Type;
read Getxx
write Setxx;
end;
procedure Register;

implementation
procedure Register;
begin
  RegisterComponents('MyComponents', [FormTest]);
end;
wcqun 2003-09-08
  • 打赏
  • 举报
回复
我说过了不用全局变量
struggle813 2003-09-08
  • 打赏
  • 举报
回复
在类Form1 public 定义你要传递的数据Data,然后用Form1.Data访问
wcqun 2003-09-08
  • 打赏
  • 举报
回复
具体点
mrtxc 2003-09-08
  • 打赏
  • 举报
回复
那就用属性吧,在form1中增加一属性。

这方法相当不错哟

5,388

社区成员

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

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