Zeichenlimit für richTextBox?

Ich habe ein Problem beim Speichern von erstaunlichen Textmengen in einer Rich-Text-Box.

Ich versuche, eine ziemlich große Textdatei (zwischen 90 und 450 MB) zu lesen und das Gelesene in ein reichhaltiges Textfeld zu schreiben. Es funktioniert in einem einfachen Programm, aber wenn ich es in einem komplizierten Programm mache, bekomme ich eine OutOfMemory-Ausnahme.

Zu beachten ist, dass ich beim Beenden meines einfachen Programms eine OutOfMemory-Ausnahme erhalte, kurz bevor das Programm 0 zurückgibt.

Hier ist der Code meines einfachen Programms:

    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 ein ähnliches Codefragment in meinem Projekt, und die Ausnahme wird angezeigt, wenn ich die Zeile richTextBox1-> Lines = strArray ausführe.

Ich habe die Dokumentation der Rich-Text-Box gelesen und es steht, dass die maximale Zeichenanzahl 64 KB beträgt. Dies ist jedoch zur Hälfte sinnvoll, da ich den Text laden kann, das Programm jedoch Probleme hat, ihn anschließend zu speichern.

Irgendwelche Ideen? Ich habe versucht, vielleicht einige benutzerdefinierte Steuerelemente ohne Limit zu finden, aber bisher keinen Erfolg.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage