[Catégorie modifiée VB6 -> .Net] Deploiement

Signaler
Messages postés
5
Date d'inscription
samedi 4 septembre 2010
Statut
Membre
Dernière intervention
4 décembre 2012
-
 Utilisateur anonyme -
Salut cher amis
J'ai finit de coder mon application mais l'empaquetage me pose problème.
Quand je fais le debogage normale (F5) j'ai pas d'erreur
Quand j'installe ca sur un poste ayant VB.Net ca marche mais sur un autre poste sans VB.Net mais avec Framework ca na marche pas.
J'ai analysé le problème et je me suis rendu compte que pour generer l'executable VB.Net utilise le debogage pas à pas (avec les histoires de thread)
Ce qui controle chaque ligne de code avant de genrer l'exe.Il y a des variables public que j'ai declaré dans mon programme que j'utilise au niveau de chaque methode
or en executant ces variables n'ont pas de valeur ce qui declenche d'erreur(nothing).
Quand on change le thread principal au cours de l'execution par defaut dans un autre thread ca marche et je ne sais pas comment par defaut choisit un autre thread qui n'est pas le principal avant l'execution.

Exemple :

Public parampageimpr As New PageSettings
Public chaineaimprimer As String
Public policeimpr As New Font("verdana", 12)
Public a As Integer
Public s As SpeechSynthesizer = New SpeechSynthesizer
Public a1 As Integer
Public e As Double
Public b As String
Public c As String
Public d As String
Public f As String
Public g As String
'declaration du tableau ter pour les terminaisons pour pouvoir changer la couleur
Public ter(60) As String
'declaration du tableau pour les personnes
Public tab(40) As String

par exemple lors de l'execution pas à pas le compilateur renvoit d'erreur au niveau de parampageimpr erreur: nothing

ainsi que policeimpr
s
ter(6O)
tab(40)
C'est du au fait qu'au moment de l'execution pas à pas ces variables n'ont pas de valeur car je lai utilisée au niveau d'autres methodes
La solution c'est de changer le thread par defaut avant l'execution mais je ne sais pas comment m'y prendre

Merci de repondre

4 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Salut

Et pourquoi avoir posté cette question dans la catégorie VB6 ?
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Habituel chez toi, semble t-il ...

Bonjour,

Et je suppose (un suppose ironique) que tu as religieusement tenu compte de l'avertissement de VB disant que tes variables n'ont pas de valeur assignée et que tu risques d'obtenir des "nullreference exceptions" comme ils disent dans VB ?

Commence par remplacer:

Public a As Integer 
ublic a1 As Integer 
Public e As Double 
Public b As String 
Public c As String 
Public d As String 
Public f As String 
Public g As String 


par:

Public a As Integer = 0
Public a1 As Integer = 0
Public e As Double = 0
Public b As String = string.empty
Public c As String = string.empty
Public d As String = string.empty
Public f As String = string.empty
Public g As String = string.empty


Ensuite, si ça ne marche pas, il faudra essayer autre chose.

Bonjour,

Et puis, nous ne sommes plus à l'époque du Commodore 64, du Vic 20, du ZX80, de l'AppleII et du TRS80. Les noms de variables peuvent contenir plus de 2 caractères.