Problem mit dynamic_cast
- 
					
					
					
					
 Hallo zusammen, vielleicht kann mit jemand auf die Sprünge helfen. Ich versuche an alle Edits einer Form zu kommen mit dem folgenden Code: for(int i=0; i < Form_Neu->ComponentCount; i++) { TEdit* edit = dynamic_cast<TEdit*>(Form_Neu->Components[i]); if (edit){ edit->Text= "test"+ IntToStr(i); Memo1->Lines->Add(edit->Name); } }Die Namen der Edits werden ausgelesen und in das Memo geschrieben. 
 Was jetzt nicht geht, ist die Edits zu beeinflussen, weder Text noch Farbe etc.
 Danke schon mal.
 
- 
					
					
					
					
 Dein Code sieht in Ordnung aus. Am dynamic_cast liegt es mit Sicherheit nicht. Evtl. wird deine Form nicht aktualisiert? Versuch mal ProcessMessages 
 
- 
					
					
					
					
 Auf der Form_Main funktioniert der Code. Auf der Form_Neu allerdings nicht. 
 Ich öffne die Form mit:void __fastcall TForm_Main::NeuClick(TObject *Sender) { TForm_Mediadaten *Fo= new TForm_Mediadaten(Application); Fo->ShowModal(); delete Fo; return; }Kann es damit zusammenhängen? 
 
- 
					
					
					
					
 Hi, 
 der Code passt im Prinzip.Wann führst du den die Schleife durch? 
 Und wer ruft sie auf?Wenn du die Schleife in "TForm_Mediadaten" laufen lässt, würde ich for(int i=0; i < Form_Neu->ComponentCount; i++) { TEdit* edit = dynamic_cast<TEdit*>(Form_Neu->Components[i]); if (edit){ edit->Text= "test"+ IntToStr(i); Memo1->Lines->Add(edit->Name); } }durch for(int i=0; i < this->ComponentCount; i++) { TEdit* edit = dynamic_cast<TEdit*>(this->Components[i]); if (edit){ edit->Text= "test"+ IntToStr(i); Memo1->Lines->Add(edit->Name); } }ersetzen. 
 
- 
					
					
					
					
 Erst mal vielen Dank an Braunstein und AlphaUniform. 
 Der this-Zeiger war hier die Lösung, jetzt geht es auch in der mit "new" erstellten Form.