Wert von Form2(ComboBox) in Form1(StringGrid) überschreiben
-
genauso hab ich es auch, aber da kommt immer dieser fehler!

-
welche dateien hast du included?
-
Setz mal auf die Zeile Form2->Show(); einen Haltepukt und steppe mit Shift + F7 durch die einzelnen Zeilen, dann solttest Du sehen können, in welcher Zeile der Fehler ausgelöst wird.
-
im Form 1 und 2:
#include <vcl.h>
#pragma hdrstop#include "Unit1.h"
#include "Unit2.h"versuchs am besten nochmal mit ner komplett neuen Anwendung
-
hmm das hab ich auch includiert!
-
Hat auch nach allem neu machen nicht funktioniert!
-
Hab mal debuggt und der Fehler tritt bei der Zeile auf:
Form1->PortsGrid->Cells[0][1] = ComboBox->Items->Strings[ComboBox_index];
-
und welchen Wert hat der Index? -1? Dann hast Du nichts ausgewählt und kannst bestenfalls ComboBox1->Text zurückgeben.
-
Der Index ist 0, weil ich das erste Element ausgewählt habe
-
ok, was fügst Du wie in die ComboBox ein?
-
Hallo an alle, die mir hier geholfen haben. Ihr hattet schon alle Recht. Es funktioniert so. Nur bei meinem Projekt nicht, weil in dem Projekt, wo ich das jetzt einfügen soll, einige Funktionen umgeschrieben wurden. Und da hat man die Funktionen auch mit etwas umgeschrieben, deswegen klappt das nicht so. Hab es mir dann von einem aus meiner Firma erklären lassen!
Aber vielleicht könnten wir in dem Thread ja gleich noch weitere Fragen klären. Schließlich scheint ihr ja die absoluten Profis zu sein. Also ich hab jetzt in meiner Form2.h eine Funktion
void InitDialog(TStrings* ComList,int Index), da soll ich irgendwie die Daten aus der ComboBox von meinem Form1 direkt hinein transportieren. Wißt ihr wie man das macht, dass die gleichen Werte, die in der ComboBox von Form1 auch in ComboBox der Form2 stehen? Wäre lieb wenn ihr mir da helfen könntet!
Und dann muss ich noch das Form1 irgendwie ausschalten können, wenn das Form2 aktiviert wird. Also so dass man in der Zeit, wo man in Form2 etwas macht, nicht im Form1 irgendwas machen kann!Hoffe ihr habt es verstanden, bin heute etwas durcheinander!
-
newfreak schrieb:
Aber vielleicht könnten wir in dem Thread ja gleich noch weitere Fragen klären.
In Zukunft bitte die Faustregel beachten: ein Thema pro Thread, ein Thread pro Thema.
Danke!Wißt ihr wie man das macht, dass die gleichen Werte, die in der ComboBox von Form1 auch in ComboBox der Form2 stehen?
Das müsstest du nach den bisherigen Erklärungen eigentlich selbst wissen. Z.B.
Form2->ComboBox1->Items = Form1->ComboBox1->Items;Und dann muss ich noch das Form1 irgendwie ausschalten können, wenn das Form2 aktiviert wird. Also so dass man in der Zeit, wo man in Form2 etwas macht, nicht im Form1 irgendwas machen kann!
Benutze zum Anzeigen der zweiten Form ShowModal() statt Show().
-
das mit dem ShowModal() hab ich schon! Aber irgendwie kann ich trotzdem in meinem Form1 noch was machen!
Das mit dem ComboBox1 ist mir schon klar, doch das geht da nicht so. Weil da wurde doch irgendwo anders was verändert. Also muss ich das irgendwie mit merken machen. Also in Form1 was anlegen mit der ComList und dem Index, was ich dann an die Funktion void InitDialog(TStrings* ComList),int Index) übergeben muss. Darin muss ja irgendwie eine Zuweisung stattfinden. Aber momentan habe ich keine richtig Ahnung was man von mir will! Sorry, deswegen kann ich es auch nicht so richtig beschreiben! Aber ich werde morgen alle Varianten, die man mir anbietet versuchen!
Und zu dem eine Frage pro Thread, ja ich werde mich beim nächsten Mal dran halten. Nur irgendwie hat es doch alles damit zu tun!