Ich habe ein Problem mit dem Speichern von erstaunlichen Mengen an Text in einem Rich TextBox.richTextBox Anzahl der Zeichen?
Ich versuche, eine Textdatei ziemlich groß zu lesen (irgendwo von 90mb bis 450mb), und legte, was ich in einem reichen Textfeld gelesen habe. Es funktioniert in einem einfachen Programm, aber wenn ich in einem komplizierten Programm mache, bekomme ich eine OutOfMemory-Ausnahme.
Eine Sache zu beachten ist, dass, wenn ich mein einfaches Programm beenden, erhalte ich eine OutOfMemory Ausnahme rechts, bevor das Programm 0 zurück
Hier ist mein einfaches Code-Programm:
array<String^>^ strArray;
StreamReader^ sr;
String^ dummyStr;
int dummyInt;
sr = gcnew StreamReader("C:\\testsize.txt");
while((dummyStr = sr->ReadLine())!= nullptr)
{
dummyInt++;
}
sr->Close();
sr = gcnew StreamReader("C:\\testsize.txt");
strArray = gcnew array<String^>(dummyInt);
for(int i=0; i < strArray->Length; i++)
{
strArray[i] = sr->ReadLine();
}
richTextBox1->Lines = strArray;
ich habe ähnliches Code-Snippet in meinem Projekt, und die Ausnahme erscheint, wenn ich die Zeile richTextBox1-> Lines = strArray mache.
Ich habe die Dokumentation des Rich Textbox gelesen, und es sagt, die maximale Grenze ist 64KB Wert von Zeichen, aber das macht Sinn auf halbem Weg, wie ich den Text laden kann, aber ich denke, das Programm hat ein Problem Dumping danach.
Irgendwelche Ideen? Ich habe versucht, vielleicht einige benutzerdefinierte Kontrollen ohne ein Limit zu finden, aber bis jetzt keinen Erfolg.
Könnte mir mit einem benutzerdefinierten Steuerelement helfen, wenn Sie uns wissen, welche Plattform/API das ist. Ich kenne QT nicht, also könnte es das sein? – DeusAduro
Es ist unter Windows Vista, VS2008, C++ – Dinoo