Avant que quelqu'un ne le dise, je sais que ce n'est pas comme cela que cela doit être fait, mais c'est ainsi que cela a été fait et j'essaye de le supporter sans tout réécrire.
Je peux vous assurer que ce n'est pas le pire de loin.Erreur de mémoire insuffisante dans l'application VB6
Le problème se produit lorsque l'application lit un fichier entier dans une variable de chaîne. Normalement, cela fonctionne bien parce que les fichiers sont petits, mais un utilisateur a créé un fichier de 107 Mo et cela tombe.
intFreeFile = FreeFile
Open strFilename For Binary Access Read As intFreeFile
ReadFile = String(LOF(intFreeFile), " ")
Get intFreeFile, , ReadFile
Close intFreeFile
Maintenant, il ne tombe pas à la ligne
ReadFile = String(LOF(intFreeFile), " ")
mais sur le
Get intFreeFile, , ReadFile
Alors qu'est-ce qui se passe ici, sûrement le chaîne a fait la mémoire allocation alors pourquoi se plaindre de manquer de mémoire sur le Get?
La ligne ReadFile = String (LOF (intFreeFile), " «) alloue seulement une chaîne de longueur LOF (intFreeFile) et le remplit avec des espaces. Nous avons toujours besoin du GET pour lire le contenu du fichier dans la chaîne. – kenneedham
mal lu il a édité ma réponse – kyndigs