Crash Visual Studio en VB.NET

Résolu/Fermé
arion320
Messages postés
234
Date d'inscription
lundi 20 décembre 2010
Statut
Membre
Dernière intervention
4 février 2022
- 15 déc. 2017 à 20:05
arion320
Messages postés
234
Date d'inscription
lundi 20 décembre 2010
Statut
Membre
Dernière intervention
4 février 2022
- 18 déc. 2017 à 21:26
Bonjour amis programmeurs,

Depuis quelques temps je travaille sur un logiciel de gestion de compte bancaire. Un ami m'a demandé de lui créer une application pour qu'il arrive à gérer ses comptes facilement lors de chaque achat qu'il fait. Bref.

J'ai fait l'application mais il m'a fallu créer un gros code, une simple condition mais j'ai du créer en parallèle un logiciel pour généré le code que j'avais besoin. Je me retrouves avec un code très simple mais qui fait 23.245 lignes.

Le problème, c'est que maintenant quand j'ouvres mon projet, Visual Studio crash quelques secondes après. Le logiciel ne répond plus et finit par s'arrêter en mode "barbare".

Y a-t-il un moyen de faire en sorte que Visual Studio n'analyse pas ce fameux fichier Module et éviter que cela crash à nouveau ?

Merci d'avance les amis !



2 réponses

Whismeril
Messages postés
17332
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
834
15 déc. 2017 à 23:04
Bonsoir

il suffit de le mettre dans un autre répertoire.
VS va te signaler son absence.

Par contre 23 000 lignes c'est plutôt un petit projet, VS ne devrait pas planter juste pour ça.

0
arion320
Messages postés
234
Date d'inscription
lundi 20 décembre 2010
Statut
Membre
Dernière intervention
4 février 2022
22
16 déc. 2017 à 01:00
Oui c'est bien ce qui me dérange.

Par contre si je le met dans un autre répertoire il ne sera plus pris en charge.. C'est pour cela que je dois pouvoir l'utiliser sans que Visual Studio ne me "Corrige" ou quoi que ce soit sur ce fichier qui à l'air "Gros" pour lui.
0
Whismeril
Messages postés
17332
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
834
16 déc. 2017 à 01:06
23 000 dans un seul fichier?
0
arion320
Messages postés
234
Date d'inscription
lundi 20 décembre 2010
Statut
Membre
Dernière intervention
4 février 2022
22
16 déc. 2017 à 01:45
Oui
0
arion320
Messages postés
234
Date d'inscription
lundi 20 décembre 2010
Statut
Membre
Dernière intervention
4 février 2022
22
16 déc. 2017 à 01:54
J'ai vu que le maximum de ligne était 60.000 donc j'y suis très loin alors je ne vois pas pourquoi ça plante avec seulement 23.000 ...
0
Whismeril
Messages postés
17332
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
834
16 déc. 2017 à 09:42
OK le max c'est 60 000, mais t'as peut être aussi un problème de conception.
Si on suppose que tu as respecté le principe d'une classe par fichier, ça fait une classe énorme.

Mais c'est peut être ton fichier solution qui est cassé, essaye de créer un nouveau projet, importe un a un les fichiers de code et voie si ça marche.
0
Whismeril
Messages postés
17332
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
834
16 déc. 2017 à 22:11
En attendant que tu fasses le test demandé à 19:48.

Pourquoi c'est mal codé, la première raison tester 23000 cas "en dur" dans le code est complètement aberrant.
Je comprends maintenant pourquoi tu as cette idée tordue de te faire un générateur de code.
Ce que je ne comprends pas par contre, c'est pourquoi tu n'as pas réfléchi que s'il te faut un générateur de code, y'a peut-être un problème....

Quand tu as quelques cas (20 - 30 max), plutôt que des cascades de if tu peux faire un select case
			Dim aTester As String = "Coucou"
			Select Case aTester
				Case "toto", "tata", "titi"
					'action 1

				Case "Coucou"
					'action 2

				Case Else
					'action par défaut

			End Select


Mais avec 23 000 cas à tester, avec en plus, seulement 2 résultats possibles (vrai ou faux), la bonne solution est de mettre tes 23 000 cas positifs dans une "base de données" (un simple fichier texte => un mot par ligne peut faire l'affaire) et de tester la présence du mot dedans.

Pour l'exemple, soit le fichier texte

Mot1
Mot2
Mot3
Mot4


			Dim lesMots() As String = File.ReadAllLines("lesMotsAArion.txt")
			If lesMots.Contains("MotATrouver") Then
				'truc à faire si c'est vrai
			Else
				'truc à faire si c'est faux
			End If


0
arion320
Messages postés
234
Date d'inscription
lundi 20 décembre 2010
Statut
Membre
Dernière intervention
4 février 2022
22
18 déc. 2017 à 21:26
Non, mon fichier n'est pas corrompu.
Je vais essayer ça et je te dis, merci.
0