Einzelnen Beitrag anzeigen

Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#18

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

  Alt 4. Jan 2006, 13:46
Hallo,

ich habe hier nochmal ein drittest bsp. sollte man bei jeder klasse die man erzeugt einen constructor haben???

bsp.:

Delphi-Quellcode:
unit UKlassen;

interface

uses
  Forms, StdCtrls;

type
  TFenster = class
    constructor Create(Sender: TObject);
  private

  public

  end;

type
  TNavi = class
    constructor Create(f : TForm; c : Array of String);
    destructor Destroy();
  private
    b : TButton; // Button für die Navigationsleiste
    w : TFenster; // Fenster
  public

  end;

implementation

constructor TFenster.Create(Sender: TObject);
  var f : TForm;
begin
  f:=TForm.Create(nil);
  f.Caption:=TButton(Sender).Caption;
  f.ClientWidth:=240;
  f.ClientHeight:=320;
  f.BorderStyle:=bsSingle;
  f.BorderIcons:=[biSystemMenu,biMinimize];
  f.Font.Name:='Arial';
  f.KeyPreview:=True;
  f.Position:=poScreenCenter;
  f.ShowModal;
end;

constructor TNavi.Create(f : TForm; c : Array of String);
  var i : Integer; // Schleifenvariable
begin
  for i:=0 to Length(c) - 1 do
    begin
      b:=TButton.Create(nil);
      b.Caption:=c[i];
      b.Width:=200;
      b.Height:=30;
      b.Top:=10 + i * 40;
      b.Left:=f.Width div 2 - b.Width div 2;
      b.OnClick:=TFenster.Create;
      b.Parent:=f;
    end;
end;

destructor TNavi.Destroy();
begin
  b.Destroy;
end;

end.
--> das bsp. funktioniert aber leider nicht. habe versucht den button ein onclik ereigniss zuzuweisen das ereigniss besteht aus den constructor. das kann man wohl nicht machen oder??? wie würdet ihr das denn machen, wenn das ereigniss in eine anderen klasse soll.
  Mit Zitat antworten Zitat