unit kspsswld;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
Tfr_psswld = class(TForm)
edusename: TEdit;
procedure FormShow(Sender: TObject);
private
procedure tlsclr;
{ Private declarations }
public
{ Public declarations }
end;var
fr_psswld: Tfr_psswld;implementation{$R *.dfm}procedure Tfr_psswld.tlsclr;
begin
edusename.Clear;
end;procedure Tfr_psswld.FormShow(Sender: TObject);
begin
fr_psswld.tlsclr;
end;end.这里fr_psswld.tlsclr报错,如果改成tlsclr的话可以通过,不知这是为什么?
unit kspsswld;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
Tfr_psswld = class(TForm)
edusename: TEdit;
procedure FormShow(Sender: TObject);
private
procedure tlsclr;
{ Private declarations }
public
{ Public declarations }
end;var
fr_psswld: Tfr_psswld;implementation{$R *.dfm}procedure Tfr_psswld.tlsclr;
begin
edusename.Clear;
end;procedure Tfr_psswld.FormShow(Sender: TObject);
begin
fr_psswld.tlsclr;
end;end.
这里fr_psswld.tlsclr报错,如果改成tlsclr的话可以通过,不知这是为什么?
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls;type
TForm1 = class(TForm)
Edit1: TEdit;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure ss();
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.ss;
end;procedure TForm1.ss;
begin
Edit1.Clear;
end;end.
如果你是这么创建的:
With Tfr_psswld.Create(Application) do
begin
ShowModal;
//.....
end;那么,var
fr_psswld: Tfr_psswld; 这个变量,或者说是指针,根本就没有指向你创建的对象.你用这个变量名来访问,肯定是出错.如果是
fr_psswld := Tfr_psswld.Create(Application);肯定是没问题的.建议:这里,既然是在类成员函数里面,最好将前面的变量省掉,或者用:Self.tlsclr
fr_psswld: Tfr_psswld;
....
procedure Tfr_psswld.FormShow(Sender: TObject);
begin
fr_psswld.tlsclr;
end;
end.
这里fr_psswld.tlsclr报错,如果改成tlsclr的话可以通过,不知这是为什么?
你指的是这里的出错吧。你fr_...是Tfr_...的实例,你在Tfr_。。类里面怎么用实例,肯定是Tfx_..tlsclr,或者是tlsclr才对。
我说清楚没有?