Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Funktionen eines Formulars in andere Unit verlagern (https://www.delphipraxis.net/60156-funktionen-eines-formulars-andere-unit-verlagern.html)

ils566 3. Jan 2006 23:01


Funktionen eines Formulars in andere Unit verlagern
 
Hallo,

kennt jemand eine Möglichkeit die Funktionen/Prozeduren eines Formulars ein eine zweite oder gar dritte Unit zu verlagern?

Ziel ist, die Unit des Hauptforms übersichtlich zu halten.

Bin für alle Tipps dankbar.

Grüße
ILS

omata 3. Jan 2006 23:08

Re: Funktionen eines Formulars in andere Unit verlagern
 
Moin,

wenn du Methoden hast die nichts mit dem Formular zu tun haben, dann kannst du die einfach in eine andere Unit auslagern.
Haben diese Methoden allerdings etwas mit dem Formular zu tun (wird aus ihnen auf Elemente die auf dem Formular sind zugegriffen) dann gehören sie doch logisch zum Formular und sollten nicht ausgelagert werden.
Wenn du viele Methoden hast und diese auch zum Formular gehören, dann solltest du dir mal Frames ansehen. Damit hättest du die Möglichkeit dein Formular logisch aus anderen Formularen zusammen zusetzen und jede Formularunit enthält dann nur noch die Methoden, die auch logisch zum jeweiligen Formteil gehören.

Hoffe das war jetzt nicht ganz neben deiner Frage.

MfG
Thorsten

faux 3. Jan 2006 23:12

Re: Funktionen eines Formulars in andere Unit verlagern
 
[OT]
Zitat:

Zitat von omata
Haben diese Methoden allerdings etwas mit dem Formular zu tun (wird aus ihnen auf Elemente die auf dem Formular sind zugegriffen) dann gehören sie doch logisch zum Formular und sollten nicht ausgelagert werden.

Erklär das Microsoft. :mrgreen:
Denn genau das ist seit dem .NET 2.0 möglich.

Im übrigen: Ich finde es sehr Praktisch, wenn man lange Projekte/Forms/Klassen etc. hat und diese in mehrere Dateien teilen kann.
[/OT]

Grüße
Faux

omata 3. Jan 2006 23:24

Re: Funktionen eines Formulars in andere Unit verlagern
 
Das kann ja sein, das das praktisch ist.
In C kann ich auch alles mögliche mache. Aber mir ging es eher darum deutlich zu machen, wie man die Struktur eines großes Programm noch übersichtlich, verständlich, überprüfbar, erweiterbar, stabil und sicher halten kann.
Nur weil etwas geht, muss es nicht gut sein (siehe Zirkelschlüsse)

Aber mal nebenbei: macht doch was ihr wollt (mir ist das sch*** egal)

ils566 3. Jan 2006 23:37

Re: Funktionen eines Formulars in andere Unit verlagern
 
Vielen Dank für die superschnelle Reaktion.

Die Funtionen die ich auslagern möchte gehören zum Formular und sollten eigentlich auch dort bleiben. Nur möchte ich die Unit nicht überfrachten.

Ich sehe, dass so wie omata in C wäre das kein Problem, aber ich schau mir mal die Frames an. Habe früher mit älteren Delphi-Versionen entwickelt, da gab es die noch nicht.
Danke nochmal.

th_bone 4. Jan 2006 00:36

Re: Funktionen eines Formulars in andere Unit verlagern
 
Hi,

vor dem Problem stand ich auch... und habe eine wirklich simple Lösung gefunden

Delphi-Quellcode:

implementation

{$INCLUDE Auslagerung1.inc}
{$INCLUDE Auslagerung2.inc}
// etc...
sprich für alles was man groupieren will legt man eine eigene .inc datei an
und kopiert einfach die functionen, proceduren etc. hinein... fertig

bsp für den inhalt der inc. datei

Delphi-Quellcode:
procedure TForm1.TEwwwEditKeyPress(Sender: TObject; var Key: Char);
begin
 if key=#13 then begin
  wwwtabcontrol.TabIndex:=0;
  wwwbrowser.Navigate(TEwwwEdit.text);
 end;
end;
keine uses etc erforderlich - einfach und übersichtlich

cu

Ralf

ils566 5. Jan 2006 00:10

Re: Funktionen eines Formulars in andere Unit verlagern
 
Danke Ralf, das werde ich so machen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:26 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz