Hey,
ich habe gerade ein vermutlich relativ simples Problem, komme aber nicht auf die Lösung. MSDN/Google/Bing liefern mir dazu auch keine brauchbaren Antworten.
Die Situation:
Ich habe eine Bedienoberfläche und eine Klasse mit der ich die XML-Dateien handeln kann; Mit der Oberfläche lade ich über einen "Öffnen"-Dialog einen (File)Stream, den ich einer Lademethode der Klasse übergeben kann - funktioniert.
Nun will ich das File loopen. Da der XMLreader eben forward-read-only ist, muss ich den Stream neu laden...nur bekomm ich beim Versuch zu lesen eine Exception. Der Code sieht im wesentlichen genauso aus, nur wird anstelle von FileToPlay mein xreader(mein XmlReader) geschlossen (xreader->close()). Stream^ FileToPlay ist ein Klassenelement.
Hat irgendjemand eine Idee wo der Fehler liegen könnte?
ich habe gerade ein vermutlich relativ simples Problem, komme aber nicht auf die Lösung. MSDN/Google/Bing liefern mir dazu auch keine brauchbaren Antworten.
Die Situation:
Ich habe eine Bedienoberfläche und eine Klasse mit der ich die XML-Dateien handeln kann; Mit der Oberfläche lade ich über einen "Öffnen"-Dialog einen (File)Stream, den ich einer Lademethode der Klasse übergeben kann - funktioniert.
Code:
bool cxml::file_set(Stream^ file){
if(file == nullptr)
return false;
if(FileToPlay != nullptr)
FileToPlay->Close();
try{
FileToPlay = file;
xreader = XmlReader::Create(FileToPlay, xreader_settings);
if(xreader != nullptr){
xreader->MoveToContent();
addlogtext(xreader->Name);
file_loaded = true;
return true;
} else
addlogtext("xreader == null");
}catch(Exception^ e){
addlogtext(e->ToString());
}
file_loaded = false;
return false;
}
Nun will ich das File loopen. Da der XMLreader eben forward-read-only ist, muss ich den Stream neu laden...nur bekomm ich beim Versuch zu lesen eine Exception. Der Code sieht im wesentlichen genauso aus, nur wird anstelle von FileToPlay mein xreader(mein XmlReader) geschlossen (xreader->close()). Stream^ FileToPlay ist ein Klassenelement.
Hat irgendjemand eine Idee wo der Fehler liegen könnte?