Einzelnen Beitrag anzeigen

Thorben77

Registriert seit: 22. Okt 2004
359 Beiträge
 
#11

Re: OOP--> Constructor richtig verwendet???

  Alt 4. Jan 2006, 12:09
Sind zwar schon 'n paar neue Beiträge da, aber ich schick's trotzdem mal ab .

Mach's so:

Überschreib den Destruktor und geb den Button da frei:

Delphi-Quellcode:
interface

type
  TNavi = class(TObject)
  private
    FButton: TButton;
  public
    constructor(AForm: TForm; ACaptuion: string);
    destructor Destroy; override;
  end;

implementation

constructor TNavi.Create(AForm: TForm; ACaptuion: string);
begin
  inherited Create;
  FButton := TButton.Create(nil);
  FButton.Caption := ACaption;
  FButton.Top := 10;
  FButton.Left := 10;
  FButton.Parent := AForm;
end;

destructor TNavi.Destroy;
begin
  FButton.Free;
  inherited Destroy;
end;

Allerdings musst/solltest Du bei deinem Formular auch irgendwo Navi.Free aufrufen:

Delphi-Quellcode:
unit UMain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, UKlassen;

type
  TFMain = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private-Deklarationen }
    FNavi: TNavi; // <--- hier ist das jetzt deklariert
  public
    { Public-Deklarationen }
  end;

var
  FMain: TFMain;

implementation

{$R *.dfm}

procedure TFMain.FormCreate(Sender: TObject);
begin
  // Menü erzeugen:
  FNavi := TNavi.Create(Self, 'BlaBlaBlubb');
end;

procedure TFMain.FormDestroy(Sender: TObject);
begin
  // freigeben:
  FNavi.Free;
end;

end.
MfG
  Mit Zitat antworten Zitat