darkprodukt
Goto Top

Listbox nimmt neue Items nicht an und hängt sich auf

Guten Tag,

ich hänge an einem größeren Projekt, dass ich mir schon seit einer Ewigkeit fertig wünsche.


Mein Problem aus irgendeinem Grund nimmt die Listbox bestimmte Einträge nicht an...

Hier der Code Ausschnitt:
private: List<String^>^ FileExtensions;

//[...]

XmlDocument^ XmlSettings = gcnew XmlDocument;
String^ FileSettings = L"settings.xml";  

if( File::Exists(FileSettings) )
{
     XmlSettings->Load(FileSettings);

     XmlNodeList^ ExtensionsList = XmlSettings->GetElementsByTagName(L"File");  
     serien_auswahl->Items->Add(L"Test1");  

     //for each(XmlElement^ FileExt in ExtensionsList)
     for(int i = 0; i < ExtensionsList->Count; i++)
     {
          MessageBox::Show(ExtensionsList[i]->InnerXml->Trim() + L" " + ExtensionsList->Count.ToString());  
          if( ExtensionsList[i]->InnerXml->Trim()->StartsWith(L"-") == false )  
          {
               MessageBox::Show(ExtensionsList[i]->InnerXml->Trim());
               FileExtensions->Add(ExtensionsList[i]->InnerXml->Trim());

               //Testanzeige
               serien_auswahl->Items->Add(ExtensionsList[i]->InnerXml->Trim());
          }
     }
     serien_auswahl->Items->Add(L"Test2");  
}

Zur Erklärung:
Ich versuche aus einem XML File alle Einträge <File>Text</File> einzulesen und in einer Liste zu speichern.
Damit ich nachvollziehen kann, dass das auch Funktioniert lasse ich Testweise die Einträge auch in die Listbox schreiben.

Problem in der Listbox steht am Ende nur "Test1"...

Wo liegt das Problem? Ich habe leider wirklich keine Ideen mehr...


Mit freundlichen Grüßen

Darkprodukt

Content-Key: 240388

Url: https://administrator.de/contentid/240388

Printed on: April 19, 2024 at 11:04 o'clock

Member: colinardo
Solution colinardo Jun 10, 2014, updated at Aug 08, 2014 at 11:36:44 (UTC)
Goto Top
Hallo Darkproduct,
du solltest dir mal deinen Debugger zur Brust nehmen und Breakpoints setzen (für sowas ist der da face-wink). Folgender minimal abgeänderter Code funktioniert hier soweit in einem CLR C++ WinForms-Projekt in VS:
// Generic List
List<String^> FileExtensions;
XmlDocument^ XmlSettings = gcnew XmlDocument;
String^ FileSettings = "settings.xml";  

if( File::Exists(FileSettings) )
{
	XmlSettings->Load(FileSettings);
	XmlNodeList^ ExtensionsList = XmlSettings->GetElementsByTagName(L"file");  

	for(int i = 0; i < ExtensionsList->Count; i++)
	{
                String^ wert = ExtensionsList[i]->InnerXml->Trim();
		if ( wert->StartsWith(L"-") == false )  
		{
			FileExtensions.Add(wert);
			serien_auswahl->Items->Add(wert);
		}
	}
}
Grüße Uwe