2

ラザロで私はこれを試しています:

TabSaveButton := TButton.Create(nil);
with TabSaveButton do
  begin
    Parent:=NewTab;
    Width:=75;
    Height:= 25;
    Top:=530;
    Left:=715;
    Caption:='Save';
  end;

そしてそれは動作します。つまり、ボタンを取得してクリック可能であり、動的に作成されたタブシートの子です。

ただし、以下にはボタンもエラーも表示されません。

TabSaveButton := TButton.Create(NewTab);
with TabSaveButton do
  begin
    Width:=75;
    Height:= 25;
    Top:=530;
    Left:=715;
    Caption:='Save';
  end;
  1. 2番目の方法が機能しないのはなぜですか?

  2. これはLazarusとDelphiの両方で同じ効果ですか?

4

1 に答える 1

4

の引数は、コントロールの所有者Createを設定します。所有者は、問題のコンポーネントを解放する責任があるコンポーネントです。たとえば、コンポーネントを解放すると、そのコンポーネントが所有するすべてのコンポーネントも解放されます。はまったく別物です。問題のコントロールをホストするウィンドウ(コントロール)です。

ここでは、DelphiとLazarusの間に違いはありません。

于 2012-12-12T16:13:01.680 に答える