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