Delphi Wert aus Form2 in Form1

PSP_GIGA

Cadet 3rd Year
Registriert
Jan. 2011
Beiträge
57
Hallo,

mein Problem ist, ich hab 2 Units und in Unit 1 hab ich eine Combobox und in Unit 2 ein Edit feld mit einem button.
Aus dem Edit Feld soll der Wert in die Combobox einfügt werden.



Wie bekomm ich es hin, dass die Unit 2 die Combobox aus Unit1 erkennt?



Grüße

PSP_GIGA
 
In dem du die "uses Unit1" in Unit2 schreibst. Danach sind alle Klassen und sonstiges aus Unit1 in Unit2 bekannt.
 
das hab ich versucht aber da ich unter unit1 schon "uses Unit2" geschrieben hab wird es in unit2 unterstrichen und als fehler angezeigt...
 
Wo hast du denn die zirkuläre Abhängigkeit her? Oder anders: Wenn Unit1 von Unit2 abhängt, verschiebe doch einfach die Abhängigkeit in die andere Unit.

Ansonsten: Wofür genau brauchst du es denn?
 
Du hast verschiedene Möglichkeiten:

a) Du schreibst in Unit 2 eine Funktion, die Form2 anzeigt (showmodal) und den Wert aus dem Editfeld als Rückgabewert zurückgibt. Diese Funktion kannst du dann einfach in Unit1 aufrufen: Combobox1.ItemIndex := GetValueFromForm2;

b) Sofern es ein numerischer Wert ist, könntest du ihn als ModalResult von Form2 zurückgeben. Dann kannst du ComboBox1.ItemIndex := Form2.ShowModal; direkt in unit1 aufrufen.

c) Du packst in den Implementation-Abschnitt von Unit2 ein "uses Unit1;" und kannst dann aus Unit2 raus auf Form1 zugreifen. (Und umgekehrt, solange im Uses von Unit1 auch Unit2 erwähnt wird)

d) Sofern du nicht mit einem Modalen Form2 arbeitest, solltest du den Wert per SendMessage an das andere Formular senden.

In allen Fällen sollte aber "uses Unit2" in Unit1 gelistet sein, schon damit du das Formular anzeigen lassen kannst.
 
also ich hab eine toolbar in unit1 und über die öffne ich die unit2

und in der unit2 hab ich edit feld über das trage ich in unit1 werte in die combobox

Edit:

in unit1 hab ich "uses Unit2" stehen

aber kann nicht in unit2 "uses Unit1" schreiben
 
Zuletzt bearbeitet:
doch kannst du, wenn du es nicht unter "interface", sondern unter "implemenration" machst.
 
ahhh es kann manchmal so einfach sein ^__^

danke :) funktioniert.
 
Zurück
Oben