Einzelnen Beitrag anzeigen

WIng2005

Registriert seit: 20. Mär 2006
Ort: Thüringen
388 Beiträge
 
Delphi XE Starter
 
#7

Re: Verhindern, dass eine Form erzeugt wird.

  Alt 9. Apr 2009, 20:14
Hallo,

dass mit der Klassenmethode ist sicherlich auch eine elegante Möglichkeit. Der Beweggrund diese Threats war, dass in meinem Projekt der Construktor scheinbar ignoriert wurde (ich muss am Dienstag erstmal schauen, was ich da verzapft hatte). Versuche ich das Ganze mal exemplarisch in einer neuen Anwendung gehts:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation
 uses unit2;
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
Form2:=TForm2.create();
Form2.Show;
end;

end.


////////////////////////////////////////////////////////////////

unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm2 = class(TForm)
  private
    { Private-Deklarationen }
  public
    constructor create();
  end;

var
  Form2: TForm2;

implementation
uses unit1;
{$R *.dfm}

constructor TForm2.create();
Begin
if form1.Edit1.Text<>'losthen
  raise exception.Create('Fehler');
     
inherited create(Form2);
end;
end.
Wäre dies eine Möglichkeit, oder ist das eher unsauber? Ist es sinvoller das ganze in die Klasse zu verlagern (siehe Beitrag von jaenicke)?
MFG
Steffen
  Mit Zitat antworten Zitat