Daten aus Form1 in eine Instanz der Form2 übergeben??
-
Frohe Ostern an alle erst mal

kann mir jemand sagen warum das einfügen in die listview, ausserhalb der form wo sich die listview befindet, nicht geht?
das ist der der code
int n = StrToInt(Form3->Editn->Text); Form3->ListView1->Items->Item[n]->Caption; TListItem *ListItem = Form3->ListView1->Items->Add(); ListItem->Caption = Form3->Edit20->Text; ListItem->SubItems->Add(Form3->Edit34->Text); ListItem->SubItems->Add(Form3->ComboBox5->Text); if (Form3->CheckBox7->State == cbChecked) { ListItem->SubItems->Add("Ja"); } else { ListItem->SubItems->Add("Nein"); } if (Form3->CheckBox8->State == cbChecked) { ListItem->SubItems->Add("Ja"); } else { ListItem->SubItems->Add("Nein"); } ListItem->SubItems->Add(Form3->ComboBox1->Text); n = n +1; Form3->Editn->Text = n; prov1->Visible = false;vielleicht sollte ich noch sagen das der code im einem button ist, der in einer form liegt, die aus einer instanz von form3 erzeugt wird.
die form selber heist dann Form3_1,Form3_2.....
wie kann ich denn darauf zugreifen? wenn ich diesen namen im code schreibe, dann ist die form nicht vorhanden
habs so in der art versucht Form3[1]->Edit1->Text,klappt leider auch nicht

were dankbar für vorschläge

thx wünsche noch was
-
morgen,
hmm wundert mich das hierzu nicht viel zu helfen gibt

ich versuchs noch mals zu erklären, also ich habe eine form erstellt auf der ein paar buttons und edit felder und diese listview ist.
aus dieser form erstelle ich eine instanz der form, mit dem button auf der form erstelle ich noch eine form instanz einer anderen form.jetzt wollte ich die daten die ich in der instanz der zweiten form schreibe, in die instanz der ersten form schreiben.
gibt es den nicht ne möglichkeit, zu erkennen aus welcher form instanz die 2 instanz erstellt worden ist?
die namen der instanz weis ich ja, hab sie mir mal in ein edit feld ausgegeben, die heist immer form3_1, form3_2 usw.
nur leider klappt es nicht, daß ich stat "form3_1->edit->Text = ..." schreibe, so was in der art "(Editform->Text)->edit->Text = ...."
ich bin schon weit gekommen, richtig glücklich wie mein programm schon mitlerweile aussieht

aber die form instanz ist schon ziemlich gross.
wenn ich die funktion noch darunter bringen möchte, die ich eigentlich in der neuen instanz unterbringenwollte, wird es verschlechtert(unübersichtlich!!)
bitte um hilfe

-
lies dir mal in der FAQ die Beiträge "Zugriff, aber nicht durch Namen" und "Dynamische Arrays von Komponenten oder Objekten" durch, alternativ geht auch eine Liste (TList) in die du alle Forms beim erstellen einträgst und dann über ein bestimmtes Kriterium (z.B. Tag) auswählst
-
hab mir die faqs mal durchgelesen, werd nicht richtig schlau draus

aber zu der tlist, ich hab zb eine tlistbox, geht die?
da ist eine tag eigenschaft, die man ansprechen könnte so weit gesehen.frage ist den in der list box in der ersten zeile der name der form instanz steht, wie müsste ich dann den befehl schreiben stat Form3_1->Edit1->Text ....
so was wie ListBox1->Tag1->Edit1->Text, oder wie müsste das aussehen?
danke schon mal für den tip das gibt hoffnung

-
hola
hawkdz schrieb:
jetzt wollte ich die daten die ich in der instanz der zweiten form schreibe, in die instanz der ersten form schreiben.
falls du die zweite form z.b. folgend erstellt hast
TForm2 *form = new TForm2(this);dann kannst du mit
TForm1 *owner = reinterpret_cast<TForm1*>(this->Owner);von Form2 aus auf Form1 zugreifen und deine Daten dort irgendwo eintragen.
in 'Owner' ist die erzeugende Form gespeichert.Meep Meep
-
Meep Meep schrieb:
falls du die zweite form z.b. folgend erstellt hast
TForm2 *form = new TForm2(this);dann kannst du mit
TForm1 *owner = reinterpret_cast<TForm1*>(this->Owner);von Form2 aus auf Form1 zugreifen und deine Daten dort irgendwo eintragen.
in 'Owner' ist die erzeugende Form gespeichert.Meep Meep
sorry@meep
sieht mal wieder und hört sich simpel an, aber anstat ich das auch so leicht umsetzen könnte hmm nee leider nicht

also die form wird in diese art und weise erzeugt, hab mal die zweite zeile mit in die erste form gesetzt aus der die instanz erzeugt wird.
da sagt er schon das owner ein wert bekommt der nie verwendet wird.hab dann in der zweiten form versucht auf owner zuzugreifen, das kennt er dann wieder mal nicht

ich schäme mich, daß ich immer noch nicht die zusammenhänge verstehe aus solchen zwei zeilen

ich falle vor euch auf die knie und bitte um weitere erklärung BITTEEDIT....
juhu nach 20mal lesen dann klappts auch, naja so etwas..
hab das so gemachtdas steht in der form2.instanz
TForm1 *owner = reinterpret_cast<TForm1*>(this->Owner); owner->Edit1->Text = "test"; owner->Button1->Caption = "1234";aber er schreibt nicht edit1->Text = test, sondern setzt die caption vom button auf test und ins edit feld schreibt er 1234??? warum?
-
man ich depp

wenn ich die richtige form anspräche klappts BIGBIG THX