Hi,
also, das mit dem überladenen Constructor müßte nun eigentlich klappen. Wenn nicht, muß ich es wohl mal selbst zum Test proggen.
Eine zweite Variante ist, deinem Formular eine neue Eigenschaft zu verpassen. diese nach dem Create setzen und dann das Formular anzeigen. Als bsp. mal der folgende code so eben weg geschrieben:
Delphi-Quellcode:
type
TModeType = (mt_none,
mt_guckst_du_da,
mt_guckst_du_hier
);
TMyGuckstDuForm = class(TForm)
private
FModeType: TModeType;
procedure SetModeType(const Value: TModeType);
{ private-Deklarationen }
protected
{ protected-Deklarationen }
public
{ public-Deklarationen }
property ModeType : TModeType read FModeType write SetModeType;
published
{ published-Deklarationen }
end;
implementation
{ TMyGuckstDuForm }
{-----------------------------------------------------------------------------
Procedure: SetModeType
Author: oki
Date: 19-Jun-2007
Arguments: const Value: TModeType
Result: None
Des.: hiert wird die Ansicht des fensters in Abhängigkeit von ModeType
geändert.
-----------------------------------------------------------------------------}
procedure TMyGuckstDuForm.SetModeType(const Value: TModeType);
begin
FModeType := Value;
case FModeType of
mt_none: ............;
mt_guckst_du_da: ............;
mt_guckst_du_hier: .............;
end;
end;
Jetzt kannst du zur Laufzeit dein Fenster normal über den mitgelieferten Constructor creieren, setzt dein Property und zeigst das Fenster an:
Delphi-Quellcode:
var MyForm : TMyGuckstDuForm;
begin
MyForm := TMyGuckstDuForm.create(self);
MyForm.ModeType := mt_guckst_du_da;
MyForm.Show;
end;
Gruß oki