【发布时间】:2020-08-07 17:09:16
【问题描述】:
我创建了一个工厂单元,其中包含用于不同功能的多个子类。
工厂单位
//parent
type
TfactoryU = class(Tobject)
public
constructor create;
end;
//subclass 1
TFormPosition = class (TfactoryU)
private
fFormName:tform;
public
constructor create (formName:tform);
procedure centerForm(frm:tform);
end;
implementation
{ TfactoryU }
constructor TFormPosition.Create(formName:tform);
begin
Inherited Create;
fFormName:=formname;
end;
procedure TFormPosition.centerForm(frm:tform);
begin
frm.Left := (Screen.Width - frm.Width) div 2;
frm.Top := (Screen.Height - frm.Height) div 2;
end;
constructor TfactoryU.create;
begin
end;
但是,我不知道如何从不同的单元调用子类过程。
主单元
procedure TfrmMERCH.FormActivate(Sender: TObject);
var
objfactoryU:TfactoryU;
begin
objfactoryU:=tformposition.create(frmmerch);
objfactoryU.centerForm(frmmerch);
过程centerForm的调用是红色下划线的。
【问题讨论】:
-
您提到有下划线,但不可见,请使用正确的格式编辑您的问题,或在代码中添加 cmets 以表明您的参考
标签: oop subclass delphi-2010