AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Auf "Ursprungsunit" zugreifen

Ein Thema von mathis.h · begonnen am 7. Jul 2007 · letzter Beitrag vom 7. Jul 2007
Antwort Antwort
mathis.h

Registriert seit: 7. Jul 2007
Ort: Berlin
22 Beiträge
 
#1

Auf "Ursprungsunit" zugreifen

  Alt 7. Jul 2007, 15:11
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!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Auf "Ursprungsunit" zugreifen

  Alt 7. Jul 2007, 15:20
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
mathis.h

Registriert seit: 7. Jul 2007
Ort: Berlin
22 Beiträge
 
#3

Re: Auf "Ursprungsunit" zugreifen

  Alt 7. Jul 2007, 15:35
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!
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#4

Re: Auf "Ursprungsunit" zugreifen

  Alt 7. Jul 2007, 15:43
Offensichtlich hast Du es nicht genug getrennt, wenn die Logik das Benutzerinterface benötigt.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
mathis.h

Registriert seit: 7. Jul 2007
Ort: Berlin
22 Beiträge
 
#5

Re: Auf "Ursprungsunit" zugreifen

  Alt 7. Jul 2007, 15:46
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??
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Auf "Ursprungsunit" zugreifen

  Alt 7. Jul 2007, 16:25
Zeig mal die Unit Code.pas.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


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 16:55 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