Erreur ce compilation

boualiasma Messages postés 393 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 23 décembre 2011 - 14 sept. 2009 à 12:30
boualiasma Messages postés 393 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 23 décembre 2011 - 19 sept. 2009 à 07:17
Bonjour,
J'ai besoin de l'interface graphique:
- pour préparer les données au programme C - puis pour visualiser le résultat (fichiers textes) venant du programme C.

Concernant l'interface VB, j'ai un ami qui a fait cette interface en VB 6.0 pour le même travail que moi. Or lorsque je l'ouvre cette interface avec visual studio 2008 alors il me demande de cliquer sur convertir. je clique sur convertir puis il me demande d'enregistrer dans un emplacement.
ceci se passe bien.
J'ouvre le nouveau projet converti alors je trouve ce que j'ai besoin les interfaces, le code bien fait.
Mais lorsque je lance la compilation
J'ai le même erreur qui ce répète dans tous les "forms" c'est à dire les fenêtres de travail.
Cet erreur est:

C:\20-04-08\20-04-08\ProjetData.NET\choix_attribut_select.vb(59) :
error BC32022: 'Public Event Load(sender As Object, e As
System.EventArgs)' est un événement. Il ne peut donc pas être appelé
directement. Utilisez une instruction 'RaiseEvent' pour déclencher un événement.

Comment on fait une propre conversion de projet VB 6 en vb.net ?

comment utiliser RaiseEvent ?

S'il vous plait, Comment cet erreur va être corriger ?


J'ai vu cette solution:
Apparemment , il faut rajouter 'Event' : LoadEvent au lieu de Load
comme décrit dans ce lien :

http://msmvps.com/blogs/kenlin/archive/2007/01/31/convert-if-someevent-null-into-vb.aspx

J'ai remplacé Load(nom de la Form) par LoadEvent(nom de la Form).
Je compile et j'ai ce message d'erreur:

error BC30451: Le nom 'LoadEvent' n'est pas déclaré.

Je suis bloquée et j'ai besoin de vos aides.


Merci.

10 réponses

boualiasma Messages postés 393 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 23 décembre 2011 5
14 sept. 2009 à 16:24
en VB 6 pour Charger/Ouvrir un formulaire il faut faire l'instruction

Load (nom du formulaire)


Quel est l'équivalent en VB.net ?
0
cs_Ayr Messages postés 221 Date d'inscription mercredi 9 avril 2003 Statut Membre Dernière intervention 13 décembre 2009 2
14 sept. 2009 à 17:10
Salut,
si la form s'appelle Form1 alors on peut faire Form1.Show()

A+
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
14 sept. 2009 à 17:18
Salut,

Je te déconseille une traduction via VS2008 pour un projet vb6, traduit le projet à la main si il n'est pas trop complexe, sinon utilise l'IDE de vb6.

@+

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
boualiasma Messages postés 393 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 23 décembre 2011 5
14 sept. 2009 à 17:30
Salut,

si la form s'appelle Form1 alors on peut faire Form1.Show()


Quelle est la différence ?
entre

Form1.show()


et

Form1.showDialog()



De préférence, quel est le bon choix entre les deux ? et dans quel on utilise chacun de deux ?

Merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
14 sept. 2009 à 17:46
Show, ouvre la feuille, showdialog l'ouvre en mode modale (en bloquant la feuille parent tant que la feuille enfant reste ouverte comme les messagebox ou les boîtes de dialogue).

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
boualiasma Messages postés 393 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 23 décembre 2011 5
15 sept. 2009 à 11:05
Bonjour,
J'ai choisi showDialog()
Merci beaucoup pour l'explication.

J'ai lancé l'exécution de nouveau.
lors de navigation entre les forms, j'ai eu cette exception:


Une exception non gérée du type 'System.IO.FileNotFoundException' s'est produite dans Microsoft.VisualBasic.dll

Informations supplémentaires*: Fichier introuvable.


Signifie quoi cette exception ?

de plus il y a une instruction dans la partie code qui est coloré en gras en vert. cette instruction est :

id = shell ("Gal.exe");


sachant que "Gal.exe" c'est l'exécutable d'un programme C.

- Mon programme C est fait à part et sauvegardé à part.
- Mon projet VB.net est fait à part et sauvegardé à part.

Comment je vais appeler le programme C .exe dans mon interface VB.net ?
Où je vais mettre le programme C .exe dans mon projet VB.net ?


Merci.
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
15 sept. 2009 à 14:38
Remplace le par :

Dim Proc As Process = Process.Start ("Gal.exe");


Avec cet appel, Gal.Exe devrat se trouver dans le même répertoire que ton programme en vb.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
boualiasma Messages postés 393 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 23 décembre 2011 5
18 sept. 2009 à 07:59
Bonjour,
Voici le code qui je trouve dans le projet vb6.
Dim Id As Object
Id = Shell("Gal.exe")


Que signifie ce code ?

Gal.Exe devrat se trouver dans le même répertoire que ton programme en vb.

Oui.déjà fait.

j'ai déjà converti le projet vb6 en vb.net.
Que proposez vous ?

Merci.
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
19 sept. 2009 à 03:05
Dim Id As Object
Id = Shell("Gal.exe")

Que signifie ce code ?


Ce code sert à lancer une application en retournant l'ID du process démarré, dans le but de travailler avec via les API, Exemple, pour faire patienter l'application tant que le process lancé est toujours en vie.

Comme je te l'ai dit plus haut, il faut le remplacer par :

Dim Proc As Process = Process.Start ("Gal.exe")


en VB.Net (pas de point virgule à la fin c'était une erreur de copier/coller de ma part)

Tu peux en suite jouer avec Proc (Instance de la classe process du framework), pour remplacer les lignes suivantes de ton programme qui concernent l'ID du process en vb6.


j'ai déjà converti le projet vb6 en vb.net.
Que proposez vous ?


Rien de plus, je disait simplement qu'ouvrir un nouveau projet en .Net et de traduire à la main est certes beaucoup plus couteux en temps, mais plus propre et efficace

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
boualiasma Messages postés 393 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 23 décembre 2011 5
19 sept. 2009 à 07:17
Bonjour,

C'est possible que je pose le code de chaque 'form' et vous me dites c'est il y a des modifications à faire ou non ?

Merci.
0
Rejoignez-nous