我创建了一个像这样的新单元,它应该是一个自定义的TShape。
unit MachineShape;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, extctrls,myDataModule,Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
TMachine = class(TShape)
count : Integer;
private
{ Private declarations }
public
{ Public declarations }
procedure PlaceShape(sizeW,sizeH :integer; name, order,asset : string);
end;
implementation
Procedure PlaceShape(sizeW,sizeH :integer; name, order,asset : string);
begin
end;
end.
接下来我将其传递给程序
MachineShape.TMachine.PlaceShape(44,49,'CM402','first','123/33/123');
如何设置程序将形状大小设置为44宽度和49高度?
我曾尝试过TMachine.Width但它不起作用? 谢谢 格伦
答案 0 :(得分:2)
您已将PlaceShape
声明为实例方法,因此需要实现它:
Procedure TMachine.PlaceShape(sizeW,sizeH :integer; name, order,asset : string);
begin
Width := sizeW;
Height := sizeH;
....
end;
您宣布了一项功能
Procedure PlaceShape(...);
这不是班级的方法。
这个问题表明你缺少对Delphi对象模型的一些理解。我推荐你到relevant section of the language guide填写缺失的知识。
我还建议您为尺寸参数使用不同的名称。您应该使用AWidth
和AHeight
,以便将来的读者可以清楚地了解这些参数将用于设置相应的形状属性。