limit znaków richTextBox?
Mam problem z przechowywaniem niesamowitych ilości tekstu w bogatym TextBoxie.
Próbuję odczytać plik tekstowy dość duży (od 90 do 450 MB) i umieścić to, co przeczytałem, w bogatym polu tekstowym. Działa w prostym programie, ale gdy wykonuję skomplikowany program, otrzymuję wyjątek OutOfMemory.
Należy zauważyć, że kiedy wychodzę z prostego programu, otrzymuję wyjątek OutOfMemory tuż przed zwróceniem przez program 0.
Oto kod mojego prostego programu:
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;
Mam podobny fragment kodu w moim projekcie, a wyjątek pojawia się, gdy wykonuję linię richTextBox1-> Lines = strArray.
Przeczytałem dokumentację bogatego pola tekstowego i mówi, że maksymalny limit ma 64 KB wartości znaków, ale to ma sens w połowie, ponieważ mogę załadować tekst, ale myślę, że program ma problem z wyrzuceniem go później.
Jakieś pomysły? Próbowałem znaleźć jakieś niestandardowe kontrolki bez limitu, ale do tej pory nie udało się.