再请教一菜鸟问题(50分)

  • 主题发起人 主题发起人 p-popo
  • 开始时间 开始时间
P

p-popo

Unregistered / Unconfirmed
GUEST, unregistred user!
我在程序中调用一个过程来改变Label1的Caption属性。
程序可以执行,但Label1的Caption属性没有改变,请问是什么问题啊。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure change;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
{ TForm1 }

procedure TForm1.change;
var frm:TForm1;
begin
frm:=TForm1.Create(Application);
frm.Label1.Caption:='fadsfdasadfs';
ShowMessage('aaaaaaa')
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
form1.change;
form1.Label1.Refresh;
end;
end.
程序运行时按下Button1后,出现showmessage窗口,Label1的Caption属性未改变。
 
你看到的是FORM1的LABEL,当然没变了。
 
问题已解决
谢谢!
 
在ShowMessage之前加一句
frm.show;
就可以看到新产生的窗体了(当然此时两个窗体的位置是重合的)。

在过程中修改label的属性:

procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption:='asdfdfghgsd';
end;

或在某个过程中(不属于TForm1):

procedure MyProc;
begin
Form1.Label1.Caption:='asdfdfghgsd';
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
MyProc;
end;

 
你又创建了一个FORM出来了
而你的改LABEL标题的操作是对着它的
这不是你要的效果.
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
690
import
I
I
回复
0
查看
701
import
I
后退
顶部