Einzelnen Beitrag anzeigen

H3llsing

Registriert seit: 12. Nov 2008
96 Beiträge
 
Delphi 2010 Enterprise
 
#1

Tform.Create überladen

  Alt 27. Jan 2011, 13:54
Hallo zusammen,

ich weiß dieses Thema wurde schon x mal behandelt, aber mein delphi möchte einfach den Inherited befehl nich ausführen

Zur Vorgeschichte: Ich habe eigentlich das gleiche wie in diesem Thread vor.
-> ich besitze eine Tform
-> Möchte einen weiteren Create schreiben um verschiedene Designs anzupassen.

hier mein Code:
Delphi-Quellcode:
type
  TModeType = (mt_default,
               mt_edit);

  TfrmCreateThema = class(TForm)
  ...
  private
    FModeType: TModeType;
    Fbearbeiter: String;
    procedure SetModeType(const Value: TModeType);
    procedure SetBearbeiter(const Value: String);
  public
    property ModeType : TModeType read FModeType write SetModeType;
    property Bearbeiter : String read FBearbeiter write SetBearbeiter;
    Constructor Create(AOwner: TComponent; Mode : TModetype;bearbeiter :string); reintroduce;overload;
  end;

...

constructor TfrmCreateThema.Create(AOwner: TComponent; Mode : TModetype;bearbeiter :string);
begin
  inherited create(AOwner); // <---- Hier knallts mit Zugriffsverletzung

  if mode <> mt_default then
    setModeType(Mode);
  if mode = mt_edit then
  begin
    setBearbeiter(bearbeiter);
    Height := 240;
  end;
end;
So nun habe ich das ganze mit und ohne Reintroduce ausprobiert gleiches Ergebnis. Immer knallts beim
inherited create(AOwner); mit zugriffsverletzung :/


Was mach ich falsch ?!

EDIT:
als aOwner gebe ich beispielsweise die Mainform an.
  Mit Zitat antworten Zitat