私は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 で手動で呼び出す必要があるようです。これは正しいです?もしそうなら、これは確かに私の主なエラーです -__construct
クラスがハンドルに割り当てられるたびに関数が自動的に呼び出されるphpに慣れています。