form1的onclick事件:
if unit2.Frm_2=nil then
begin
unit2.Frm_2:=Unit2.TFrm_2.Create(nil);
unit2.Frm_2.Label1.Caption:='aaaa';
unit2.Frm_2.Show;
else
unit2.Frm_2.Show;
这时frm_2的Label1显示出来是“aaaa”但是无论我在frm_2的onshow还是onCreate中用showmessage(Label1.Caption),都显示为空,获取不到“aaaa”为什么呢?
解决方案 »
- 三层开发控件ASTA的问题
- 在delphi里做折线图 报表设计
- 不知道算不算delphi 的bug???
- 问一些关于加入图片的菜鸟问题
- ODAC访问ORACLE数据库问题
- Webbrowser 源码问题
- 问:如何用Delphi实现图像的淡入淡出(急)
- 求救:HP打印机实时打印(单行打印)的问题,呼唤高手!!!
- 在canvas中显示文字如何换行,如Printer.Canvas.TextOut(x+8,y+8,arrFieldValue),arrFieldValue中加入#13#10?
- 专家:急急急!!CoolBar的下拉按钮制作.不是高手勿入!
- RichEdit 控件 在哪个选项卡里
- 怎么替换?
if unit2.Frm_2=nil then
begin
unit2.Frm_2:=Unit2.TFrm_2.Create(nil);
//OnCreate事件没有捕捉到Label1.Caption是正常的,因为这时候Label1.Caption还没有赋值
unit2.Frm_2.Label1.Caption:='aaaa';
unit2.Frm_2.Show;
//OnShow也获取不到?代码跟踪一下,是不是你的IDE把Frm_2窗体自动创建了。
else
unit2.Frm_2.Show;
//自动创建的OnCreate, OnShow事件获取Label1.Caption肯定是空的。
begin
unit2.Frm_2:=Unit2.TFrm_2.Create(nil);
unit2.Frm_2.Label1.Caption:='aaaa';
unit2.Frm_2.Show;
end
else
begin
unit2.Frm_2.Label1.Caption:='aaaa';
unit2.Frm_2.Show;
end;
unit2.Frm_2.Label1.Caption:='aaaa';
或者
Frm_2.Show中做了什么
可能是自动创建了。
也有可能是在 onshow 里又处理了一次?
lebel2.caption=label1.cation
结果
label1.caption显示的是aaa
但lebel2.caption显示的是label1原来的caption,并不是aaa