Meilleur auteur de réponses
erreur de compilation d'un projet VB converti

Question
-
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é.
J'ai besoin de vos aides.
Merci.
Réponses
-
Salut,
tu dois faire un code similaire à ceci:
' Déclaration de la form Dim myForm As attribut_where
Si tu ne veux qu'afficher la form, sans un préchargement:
' Initialisation de la form (équivalent au Load) myForm = New attribut_where
' Traitement quelconque entre le chargement et l'affichage de la form
' ...
' ... ' Affichage de la form myForm.ShowDialog()
' Affichage de la form attribut_where.ShowDialog()
Microsoft MVP C# :: mongeon.devrpm.ca- Proposé comme réponse Marius Bugiulescu mercredi 23 septembre 2009 11:52
- Marqué comme réponse Gilles TOURREAUModerator mardi 6 octobre 2009 21:31
Toutes les réponses
-
-
Bonjour,
J'ai converti le projet vb6 en vb.net en utilisant l'assistant de conversion .
Je lance la compilation et j'obtiens des erreurs.
J'ai le même erreur qui ce répète dans tous les "forms".
Cet erreur est:
C:\testo\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.
L'erreur est pointé sur l'instruction de code au dessus :
Load(attribut_where)
Voici le code complet d'une Form où il y a l'erreur:
Option Strict Off Option Explicit On Friend Class attribut_select Inherits System.Windows.Forms.Form Private Sub Check1_Click() End Sub Private Sub attribut_select_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load Dim cnx As ADODB.Connection Dim rst As ADODB.Recordset cnx = New ADODB.Connection rst = New ADODB.Recordset Dim cmd As ADODB.Command Dim param As ADODB.Parameter cmd = New ADODB.Command param = New ADODB.Parameter cnx.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" & "SERVER=127.0.0.1;" & "DATABASE=base_donnee;" & "UID=root;" & "PWD=;" cnx.Open() rst.Open("show columns from " & nom_table & "", cnx) attribut(0).Visible = False Dim j As Integer 'creation de 2 boutons en plus du premier crée manuellement 'For j = 1 To 2 j = 1 'While (j <= 2) While Not (rst.EOF) Me.attribut.Load(j) Me.attribut(j).Left = VB6.TwipsToPixelsX(Me.attribut(j - 1).Left) Me.attribut(j).Top = VB6.TwipsToPixelsY(VB6.PixelsToTwipsY(Me.attribut(j - 1).Top) + 500) 'attribut_select.attribut(j).Caption = "attribut(" & Trim(CStr(j)) & ") crée par INDEX" 'suppression des espaces pour le nom Me.attribut(j).Text = rst.Fields(0).Value Me.attribut(j).Visible = True 'Next j j = j + 1 rst.MoveNext() End While nombre_attribut_select = j - 1 End Sub Private Sub valider_attribut_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles valider_attribut.Click Dim j As Short Dim p As Short For j = 1 To nombre_attribut_select If Me.attribut(j).CheckState = 1 Then attribut_select_selectionne(p) = Me.attribut(j).Text p = p + 1 End If Next j If p = 0 Then MsgBox("Vous devez sélectionner au moins un attribut") Else nombre_attribut_select_selectionne = p Me.Close() 'UPGRADE_ISSUE: L'instruction Load n'est pas pris(e) en charge. Cliquez ici : 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="B530EFF2-3132-48F8-B8BC-D88AF543D321"' Load(attribut_where) attribut_where.ShowDialog() End If End Sub End Class
-
-
Salut,
es-ce que tu es allé voir le lien suggérer dans le commentaire? Le problème est que l'évènement Load n'est plus pris en charge en .Net. Tu peux cependant utiliser le mot clé new ou vériifer le lien pour voir s'il suggère quelque chose.
Microsoft MVP C# :: mongeon.devrpm.ca -
-
Salut,
tu dois faire un code similaire à ceci:
' Déclaration de la form Dim myForm As attribut_where
Si tu ne veux qu'afficher la form, sans un préchargement:
' Initialisation de la form (équivalent au Load) myForm = New attribut_where
' Traitement quelconque entre le chargement et l'affichage de la form
' ...
' ... ' Affichage de la form myForm.ShowDialog()
' Affichage de la form attribut_where.ShowDialog()
Microsoft MVP C# :: mongeon.devrpm.ca- Proposé comme réponse Marius Bugiulescu mercredi 23 septembre 2009 11:52
- Marqué comme réponse Gilles TOURREAUModerator mardi 6 octobre 2009 21:31
-
-
-
Bonsoir,
J'ai installé Visual Studio 2008.
Je voulais ouvrir un projet VB6 alors l'assistance de conversion s'arrête et il me demande d'installer le le visual basic 6 avec toutes ces composantes.
Pourquoi?
Est ce que le syntaxe d- e deux ne sont pas compatible ? Est ce que la version 2008 ne supporte pas la version 2005 ?