AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

zweite Unit

Ein Thema von alexanderbender · begonnen am 2. Mär 2013 · letzter Beitrag vom 3. Mär 2013
Antwort Antwort
alexanderbender

Registriert seit: 2. Mär 2013
1 Beiträge
 
FreePascal / Lazarus
 
#1

zweite Unit

  Alt 2. Mär 2013, 19:07
Hi Leute,

ich hab mal ne Frage wie man ein Programm in zwei Units auf teil!!!
Wäre hilfreich wenn ihr mir da weiterhelfen könntet

Alex
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.632 Beiträge
 
Delphi 5 Professional
 
#2

AW: zweite Unit

  Alt 2. Mär 2013, 19:46


Ohne dir jetzt zu nahe treten zu wollen: Geht's noch genauer? Konkreter gefragt: Was genau willst du aufteilen?

MfG Dalai
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#3

AW: zweite Unit

  Alt 2. Mär 2013, 23:00
... 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;
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#4

AW: zweite Unit

  Alt 3. Mär 2013, 12:02
Es wäre schon gut zu wissen was Du hast und was Du erreichen willst.
Ich teile Programme eigentlich immer in mind. zwei Units auf, eine für die Oberfläche, eine für die eigentliche Datenverarbeitung.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf