以下是我的源码,编译都通过了,但在调用自定义过程出错
//窗体form2的单元Unit2文件
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs;
type
TForm2 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
procedure myproc;//在此处声明我的过程;
implementation
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
begin
myproc;//调用我的过程出错*******************************
end;
procedure myproc;//定义我的过程;
begin
form2.obj.enabled=True; //obj是form2中的一个对象
end; end.
//窗体form2的单元Unit2文件
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs;
type
TForm2 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
procedure myproc;//在此处声明我的过程;
implementation
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
begin
myproc;//调用我的过程出错*******************************
end;
procedure myproc;//定义我的过程;
begin
form2.obj.enabled=True; //obj是form2中的一个对象
end; end.
private
{ Private declarations }
procedure myproc;//应在此处声明你的过程;
public
{ Public declarations }
procedure myproc;//或在此处声明你的过程;
form2.obj.enabled=True; 是上传错误!.在程序中我写的是form2.obj.enabled := True;
按你说的将procedure myproc;放到public中,结果编译不能通过.
begin
obj.enabled=True; //obj是form2中的一个对象
end;
begin
obj.enabled=True; //obj是form2中的一个对象
end;改称
procedure tform2.myproc;//定义我的过程;
begin
obj.enabled=True; //obj是form2中的一个对象
end;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs;
type
TForm2 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
procedure myproc(aForm2: TForm2);//在此处声明我的过程;
implementation
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
begin
myproc(Self);//调用我的过程出错*******************************
end;
procedure myproc(aForm2: TForm2);//定义我的过程;
begin
aForm2.obj.enabled=True; //obj是form2中的一个对象
end; //如果还也错的话,就是你的obj有问题了。