Je n'arrive pas à stocker des quantités incroyables de texte dans un TextBox riche. J'essaie de lire un fichier texte assez volumineux (de 90 à 450 Mo) et de mettre ce que j'ai lu dans une riche zone de texte. Cela fonctionne dans un programme simple, mais quand je fais dans un programme compliqué je reçois une exception OutOfMemory.richTextBox limite de caractères?
Une chose à noter est que lorsque je quitte mon programme simple, je reçois une exception OutOfMemory juste avant le programme retourne 0.
Voici le code de mon programme simple:
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;
J'ai extrait de code similaire dans mon projet, et l'exception apparaît lorsque je fais la ligne richTextBox1-> Lines = strArray. J'ai lu la documentation de la zone de texte riche, et il dit que la limite maximale est de 64 Ko de caractères, mais cela a du sens à mi-chemin, car je peux charger le texte, mais je suppose que le programme a un problème ensuite.
Des idées? J'ai essayé de trouver peut-être quelques contrôles personnalisés sans limite, mais sans succès jusqu'à présent.
Peut être en mesure de m'aider avec un contrôle personnalisé si vous nous faites savoir quelle est la plate-forme/API c'est. Je ne connais pas QT donc ça pourrait être ça? – DeusAduro
C'est sous Windows Vista, VS2008, C++ – Dinoo