Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Zirkuläre Unit Referenz auf Unit 1 (https://www.delphipraxis.net/153049-zirkulaere-unit-referenz-auf-unit-1-a.html)

SyntaxXx 19. Jul 2010 07:26

Zirkuläre Unit Referenz auf Unit 1
 
Guten Morgen zusammen, wie oben gesagt habe ich, wenn ich mein Programm starten möchte folgenden Fehler:

Zirkuläre Unit Referenz auf Unit 1

Ich habe heraus gefunden das diese Meldugn kommt, wenn man bei Unit1 in uses "Unit2" einbindet und bei Unit2 in uses "Unit1" einbindet.

Jetzt ist das problem, wie kann ich das jetzt machen, dass das nicht mehr kommt?
Denn ich habe folgendes vor:

Ich starte das Programm.
Hauptfenster(Unit1) öffnet sich.

Nun möchte ich was in ListView eintragen, weshalb sich nun erstmal eine neue Form öffnet, wo man die ganezn Eingaben tätigt.

Wenn ich nun auf den Butten in Unit 2 klicke, sollen die Daten in ListView (in Unit1) eingetragn werden.

Doch dafür musss ich eben in die uses die Units eintragen.

Oder wie kann man das noch machen?

Klaus01 19. Jul 2010 07:41

AW: Zirkuläre Unit Referenz auf Unit 1
 
Guten Morgen,

baue Dir eine Unit mit einem Datencontainer.
Binde sie in Unit1 und Unit2 ein.
Den Container kannst Du aus der Unit2 befüllen und aus der Unit1 anzeigen lassen.

Grüße
Klaus

Borschti 19. Jul 2010 07:58

AW: Zirkuläre Unit Referenz auf Unit 1
 
Du kannst im implementation Teil auch noch Units einbinden, so solltest du die Fehlermeldung umgehen können.

Edit: Hier mal ein kleines beispiel:

Delphi-Quellcode:
implementation

uses
  UnSettings, UnSettingLog;

xZise 19. Jul 2010 09:57

AW: Zirkuläre Unit Referenz auf Unit 1
 
Moin,
alternativ bietet die Klasse in Unit2 ein Ereignis an, dass dann in der Unit1 ein Update des ListViews ausführt.

MfG
Fabian

PS: Sowas wie Borschti sagt, geht zwar auch, aber ich würde sowas immer vermeiden, weil im interface-Abschnitt ist die Unit1 noch nicht bekannt, und es gibt andere Wege um das zu umgehen. Außerdem kannst du die Unit2 einfach austauschen, solange es eine andere Klasse gibt mit der gleichen Methode.

David Martens 19. Jul 2010 17:13

AW: Zirkuläre Unit Referenz auf Unit 1
 
Mach die Form der Unit2 Modal:

Delphi-Quellcode:
procedure tform1.showform2click(Sender : tobject);
begin
  if form2.showmodal = mrOK then
  begin
    // hier kannst du fleißig auf alle daten auf form2 zugreifen
    name := form2.edtname;
    ort := form2.edtort;
    ...
  end;
end;
P.S.: mein hundertster Beitrag :)

omata 19. Jul 2010 23:01

AW: Zirkuläre Unit Referenz auf Unit 1
 
Zitat:

Zitat von David Martens (Beitrag 1036231)
Delphi-Quellcode:
    // hier kannst du fleißig auf alle daten auf form2 zugreifen

Bitte nicht so programmieren. Benutze Zugriffsmethoden, um Daten zwischen Units bzw. Formularen auszutauschen. Alles andere ist nicht sinnvoll.

David Martens 20. Jul 2010 12:26

AW: Zirkuläre Unit Referenz auf Unit 1
 
@omata: Entschuldigung ich hab mich vielleicht nicht ganz klar ausgedrückt.

So hab ich das hingeschrieben:

Delphi-Quellcode:
name := form2.edtname;
wenn du aufmerksam liest, dann fällt dir auf das ich nicht direkt auf die Edits zugreife, sonst würde da stehen:


Delphi-Quellcode:
name := form2.editname.text;
Gruß Atlan

mkinzler 20. Jul 2010 12:27

AW: Zirkuläre Unit Referenz auf Unit 1
 
Das Problem ist auch eher das Form2 :zwinker:

Nele1997 16. Jul 2014 14:49

AW: Zirkuläre Unit Referenz auf Unit 1
 
Ich brauche unbedingt schnelle Hilfe!
Ich bin komplette Anfängerin und freue mich, dass ich überhaupt soweit gekommen bin...
Im Unterricht soll ich ein Programm schreiben. Dies ist fertig programmiert und jetzt das Problem:
Ich bekomme die Fehlermeldung: Unit2.pas Zirkuläre Unit-Referenz auf 'Unit1'
Außerdem kann 'Unit1' als Unit-Name nicht aufgelöst werden.
Da ich durch einen Button die Seiten in meinem Programm wechseln möchte habe ich Unit2 in Unit1 unter uses miteingebunden und andersrum genauso.
Wie kann ich diesen Fehler umgehen?
Bitte eine verständliche Antwort :(

Uwe Raabe 16. Jul 2014 15:02

AW: Zirkuläre Unit Referenz auf Unit 1
 
Zitat:

Zitat von Nele1997 (Beitrag 1265673)
Bitte eine verständliche Antwort :(

"Verständlich" hängt in vielen Fällen auch von dem ab, der es verstehen soll.

Verschiebe mal die uses-Anweisungen für unit1 und unit2 in den implementation-Teil.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:39 Uhr.
Seite 1 von 2  1 2      

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