... wie man ein Programm in zwei Units auf teil!!!
Wo ist das Problem? Du legst eine zweite
Unit an und kopierst dort die Proceduren und Functionen hinein, die du aus deiner Main-
Unit auslagern möchtest. Dabei kannst du das grundsätzlich auf zwei verschiedene Weisen tun: mit oder ohne Klassendeklaration.
1. Ohne Klassendeklaration
Delphi-Quellcode:
unit Ausgelagert;
interface
procedure Ausgelagert_1;
implementation
procedure Ausgelagert_1;
begin
end;
end.
Und nicht vergessen, in die USES-Klauses deiner Haupt-
Unit die
Unit Ausgelagert einzubinden.
2. Mit Klassendeklaration
Delphi-Quellcode:
unit Ausgelagert;
interface
Type
TAusGel =
class
private
public
constructor create();
destructor destroy;
override;
procedure Ausgelagert_1;
end;
implementation
procedure TAusGel.Ausgelagert_2;
begin
end;
end.
Um die Klasse in der neuen
Unit verwenden zu können, mußt du in deiner Haupt-
Unit eine globale Variable des Typs TausGel anlegen und damit ein neues Objekt erzeugen:
Delphi-Quellcode:
...
implementation
var
Auslagerung : TAusGel;
procedure TMainUnitFormCreate(Sender: TObject);
begin
Auslagerung := TAusGel.Create;
end;
...
procedure TMainUnit.FormClose(Sender: TObject);
begin
Auslagerung.Free;
// Oder auch: FreeAndNil(Auslagerung);
end;
So hast du Zugriff auf Klasse:
Delphi-Quellcode:
procedure TMainUnit.Button1Click(Sender: TObject);
begin
Auslagerung.Ausgelagert_1;
end;