1

この関数は、TEdit 型のコントロール オブジェクトを作成し、それを呼び出し元のコード内の任意の行に返します。

function TBaseForm.CreateEdit(AOwner: TWinControl;
                              inTop, inLeft, inWidth: integer) : TEdit;
var
    edt: TEdit;
begin
    edt := TEdit.Create(AOwner);
    with edt do begin
        Parent := AOwner;
        Width  := inWidth;
        Top    := inTop;
        Left   := inLeft;
    end;
    result := edt;
end;

コードの後半:

edtTitle := CreateEdit(Self, 20, 90, 300);

今。関数内のコードに問題はありませんか? たとえば、メモリのどこかで何かがハングしていませんか?

4

1 に答える 1

1

メモリリークはありません。

あなたはそれをよりきれいに行うことができます(なぜあなたがこれをしているのかはまだわかりませんが)、余分な変数を避けることができますedt

function TBaseForm.CreateEdit(AOwner: TWinControl;
                              inTop, inLeft, inWidth: integer) : TEdit;
begin
  Result := TEdit.Create(AOwner);
  Result.Parent := AOwner;
  Result.Width  := inWidth;
  Result.Top    := inTop;
  Result.Left   := inLeft;
end;
于 2013-04-21T02:21:45.200 に答える