コンポーネントをインストールせずに使用するには

解決


jil  2004-02-05 22:40:45  No: 6972  IP: 192.*.*.*

面白そうなコンポーネントを見つけたのですが、インストールするまではどうも、というもの。インストールせずに使用する方法ってあるのでしょうか?

編集 削除
jok  2004-02-05 22:42:39  No: 6973  IP: 192.*.*.*

uses に加えて、FormCreate でコンストラクタ、FormDestroy でデストラクタ
を実行します。コンポーネントもただのクラスです。

編集 削除
jok  2004-02-05 22:43:57  No: 6974  IP: 192.*.*.*

あ、コンストラクタで Owner を設定するからデストラクタはいらないか。

編集 削除
jil  2004-02-05 23:02:04  No: 6975  IP: 192.*.*.*

すいませんもう少し詳しく教えていただけると・・・

編集 削除
jok  2004-02-06 00:05:44  No: 6976  IP: 192.*.*.*

TButton クラスは StdCtrls.pas にあるので、もしコンポーネントパレットに
のっていない、と仮定した場合、インストールしなくても、次のようにして
使うことが出来ます。

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls; // StdCtrls を加える

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private 宣言 }
  public
    Button:TButton;
    procedure ButtonClick(Sender:TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Button := TButton.Create(self);
  Button.Parent := self;
  Button.Left := 10;
  Button.Top := 10;
  Button.Caption := 'Push Me!';
  Button.OnClick := ButtonClick;
end;

procedure TForm1.ButtonClick(Sender: TObject);
begin
  Color := clLime;
end;

コンポーネントによって初期化の仕方が違います。
これ以上は具体的なクラスを知らないと答えようがありません。

クラスの動的作成が出来ないか、難しいと感じるようでしたら、
インストールすることをすすめます。

編集 削除
jil  2004-02-13 22:55:19  No: 6977  IP: 192.*.*.*

ありがとうございます。何とかできました。コードによる的確な解答ありがたいです。

編集 削除