Einzelnen Beitrag anzeigen

hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#5

AW: D2007 Vererbung Constructor

  Alt 28. Jul 2012, 11:20
Eigentlich sollte es funktionieren, tut es aber nicht.

Hier nochmal ein gekürztes Beispiel.
Es gibt dann viele unterschiedliche WorkClass, die sich bei einem zentralen Handler registrieren und von diesen bei Bedarf instanziert werden.
Hat wer noch einen Tip?

Delphi-Quellcode:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    btn1: TButton;
    procedure btn1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;


(***************  Beispiel Code *****************)
type
  TBasisClass = class
    ID : String;
    Constructor Create; virtual;
  end;

type
  TGruppenClass = class(TBasisClass)
    const GruppenID='KA';
    Constructor Create; virtual;
  end;

type
  TWorkerClass = class(TGruppenClass)
    Constructor Create;
  end;

type
  TBasisClassClass = class of TBasisClass;


implementation

{$R *.dfm}

{ TWorkerClass }

var
  Instance : TBasisClassClass;
  Work: TBasisClass;

procedure Register(Classe : TBasisClassClass);
begin
  Instance := Classe;

  Work := Instance.Create;
  if Work.ID = '123then
    Messagebeep(1);
end;

constructor TWorkerClass.Create;
begin
  ID := '123';
end;

procedure TForm1.btn1Click(Sender: TObject);
begin
  Register(TWorkerClass);
end;

{ TGruppenClass }

constructor TGruppenClass.Create;
begin
  inherited;
end;

{ TBasisClass }

constructor TBasisClass.Create;
begin
  inherited;
end;

end.
  Mit Zitat antworten Zitat