Hallo zusammen,
ich komme in meinem Programm weiter... jetzt aber hänge bei der Übergabe von einer Variablen.
Ich habe 2 Formen (Form1, Form2). In Form1 wird eine Variable namens Schwierigkeit mit einem vom Benutzer bestimmten Wer belegt.
Diese benötige ich in Form2.
Meine Fragen:
Wie kann ich Form1 in den uses-Teil von Form2 schreiben?
Kann ich dann einfach diese Variable in Form2 verwenden, wenn diese in Form1 als global definiert ist?
Vielen Dank für Eure Hilfe!
Variable übernehmen
Re: Variable übernehmen
Das was du versuchst ist wahrscheinlich eine "zirkuläre Unit-Referenz", sollte man wenns irgendwie geht vermeiden, ansonsten kannst du das mal lesen
Vorschlag: Definiere die globale Variable "Schwierigkeit" in Unit2 vor "Implementation", dann ist sie auch von "außen" nutzbar. Wenn du dann in Form1 in der uses-clause die Unit2 einbindest, kannst du in Unit1 und Unit2 auf die Variable zugreifen.
Globale Variablen sollte man nach Möglichkeit vermeiden, ist aber ein anderes Thema...
Vorschlag: Definiere die globale Variable "Schwierigkeit" in Unit2 vor "Implementation", dann ist sie auch von "außen" nutzbar. Wenn du dann in Form1 in der uses-clause die Unit2 einbindest, kannst du in Unit1 und Unit2 auf die Variable zugreifen.
Globale Variablen sollte man nach Möglichkeit vermeiden, ist aber ein anderes Thema...
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
Re: Variable übernehmen
Danke für diene Hilfe,
so war auch mein Plan.
Wenn in Form2 im Uses teil meine Form1 reinschreibe, dann kommt immer die Meldung Fatal: Circular unit reference between unit2 and unit1
so war auch mein Plan.
Wenn in Form2 im Uses teil meine Form1 reinschreibe, dann kommt immer die Meldung Fatal: Circular unit reference between unit2 and unit1
Re: Variable übernehmen
Ist das jetzt noch aktuell?! Das ist der Versuch einer zirkulären Unit-Referenz, das geht nicht, es sei denn, siehe Link oben!foxtrot29 hat geschrieben:Wenn in Form2 im Uses teil meine Form1 reinschreibe, dann kommt immer die Meldung Fatal: Circular unit reference between unit2 and unit1
Wenns noch aktuell ist und deine Mainform in Unit2 liegt, dann ersetze oben in meinem Post Unit1 mit Unit2 und andersrum!
Wenn die Mainform in Unit1 liegt, musst du in Unit2 in der uses-clause die Unit1 entfernen (ein Zugriff von einer untergeordneten Unit auf die MainForm/MainUnit ist kein guter Programmierstil und bringt nur jede Menge Ärger mit sich)!!!
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
Re: Variable übernehmen
Danke hab das problem gelöst bekommen