我是 delphi 新手,我正在 delphi 6 中创建一个组件。但我无法让构造函数运行:
unit MyComms1;
...
type
TMyComms = class(TComponent)
public
constructor MyConstructor;
end;
implementation
constructor TMyComms.MyConstructor;
begin
inherited;
ShowMessage('got here');
end;
调用什么构造函数并不重要,但是这段代码根本不运行构造函数。
编辑
根据要求,这TMyComms
是初始化类的方式(此代码位于另一个名为 TestComms.pas 的文件中):
unit TestComms;
interface
uses MyComms1, ...
type
TForm1 = class(TForm)
MyCommsHandle = TMyComms;
...
procedure BtnClick(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
procedure TForm1.BtnClick(Sender: TObject);
begin
MyCommsHandle.AnotherMyCommsProcedure;
end;
编辑 2
阅读一些答案,看起来必须在delphi中手动调用构造函数。这个对吗?如果是这样,那么这肯定是我的主要错误 - 我习惯于 php,__construct
只要将类分配给句柄,就会自动调用该函数。