Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Auf "Ursprungsunit" zugreifen (https://www.delphipraxis.net/95499-auf-ursprungsunit-zugreifen.html)

mathis.h 7. Jul 2007 15:11


Auf "Ursprungsunit" zugreifen
 
Hallo!

Ich bin noch Anfänger in Delphi und möchte als kleine Übung einen Taschenrechner programmieren, der so ähnlich, wie der in Windows mitgelieferte funktioniert. Dafür habe ich zwei Units angelegt:
Die eine Unit (main.pas) enthält das Formular des Taschenrechners, die Eventhandlerfunktionen (drücken der einzelnen Buttons) und eine Funktion, die einen beliebigen Text (in der Regel das Ergebnis) auf das Display des Taschenrechners schreibt.
Die zweite Unit (code.pas) verarbeitet dann die Benutzereingaben. Sie speichert die eingegebenen Zahlen und führt Rechenoperationen aus etc.
Die zweite Unit rufe ich in der ersten Unit über 'uses' auf.
Ich kann auch aus der ersten Unit auf Prozeduren der zweiten Unit zugreifen (NameZweitenUnit.Prozedurname). Leider funktioniert das nicht, um aus der zweiten Unit auf Funktionen der ersten Unit zuzugreifen. Und wenn ich mit uses in der zweiten Unit die erste aufrufe dann bekomme ich diese Fehlermeldung: "[Fataler Fehler] code.pas(5): F2047 Zirkuläre Unit-Referenz auf 'code'"

Also letzendlich geht es darum, dass ich aus der zweiten Unit Prozeduren der ersten Unit aufrufen möchte...

Ich würde mich freuen, wenn jemand mir da nen Tipp geben könnte!

Luckie 7. Jul 2007 15:20

Re: Auf "Ursprungsunit" zugreifen
 
Binde eine Unit den Uses im Interface Abschnitt ein und die andere in den Uses im Implemantations Abschnitt. Wobei ich aber das Design ändern würde, damit die Unit Code.pas unabhängig von der Hauptunit ist. Dann kannst du sie in beliebigen Projekten nutzen, ohne immer etwas ändern zu müssen.

mathis.h 7. Jul 2007 15:35

Re: Auf "Ursprungsunit" zugreifen
 
Danke erstmal für die Antwort. Das funktioniert soweit.
Aber inwiefern würdest du das Design ändern?? Ich habe doch extra den eigentlichen Quellcode des Rechners und die Oberfläche incl. der Funktionen zur Ausgabe getrennt!

Phoenix 7. Jul 2007 15:43

Re: Auf "Ursprungsunit" zugreifen
 
Offensichtlich hast Du es nicht genug getrennt, wenn die Logik das Benutzerinterface benötigt.

mathis.h 7. Jul 2007 15:46

Re: Auf "Ursprungsunit" zugreifen
 
Wie schon gesagt bin ich noch Anfänger in Delphi, daher entschuldige meine vielleicht manchmal etwas dummen Fragen :? aber wie würdest du das denn trennen??

Luckie 7. Jul 2007 16:25

Re: Auf "Ursprungsunit" zugreifen
 
Zeig mal die Unit Code.pas.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:45 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