JOND210289
Messages postés11Date d'inscriptiondimanche 16 octobre 2011StatutMembreDernière intervention19 novembre 2011
-
19 nov. 2011 à 05:36
JOND210289
Messages postés11Date d'inscriptiondimanche 16 octobre 2011StatutMembreDernière intervention19 novembre 2011
-
19 nov. 2011 à 17:48
Bonjour , le language utilisé est VB.net avec visual studio 2005
j'ai un .form qui contient un datagridview et un bouton "ajouter". Lorsque je Click sur le bouton "ajouter", j'ai un autre .form qui apparaît pour saisir des données puis je valide avec un bouton "OK". Le problème c'est que le programme ne reconnait pas le chemin pour aller dans le datagridview du .form1 depuis le .form2 . De plus j'ai déjà fais ce code sur visual studio 2010 et ça a marché nickel mais hélas je dois utiliser visual studio 2005 pour que ma macro fonction avec Solidworks 2011!!!
voici mon code des deux form :
'''''''''''''''''''''''''''''''''''''''''''''''''''''''form1''''''''''''''''''''''''''''''''''''''''''''''''''''''
Imports System.Windows.Forms
Public Class Form_creation_profil
Public Sub Button_Ajouter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Ajouter.Click
Dim Form_creation_mvt As New Form_creation_mvt
Form_creation_mvt.Show()
Form_creation_mvt.TextBox_Ra.Text = ""
Form_creation_mvt.TextBox_beta.Text = ""
End Sub
End Class
''''''''''''''''''''''''''''''''''''''''''''''''''''''form2'''''''''''''''''''''''''''''''''''''''''''''''''''''
Imports System.Windows.Forms
Public Class Form_creation_mvt
Public Sub Button_OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_OK.Click
Dim cel1 As New DataGridViewTextBoxCell
Dim cel2 As New DataGridViewTextBoxCell
Dim cel3 As New DataGridViewTextBoxCell
Dim degremax As Double
Dim i As Integer
Dim ligne As DataGridViewRow
Dim Form_creation_profil As New Form_creation_profil
ligne = New DataGridViewRow
cel1 = New DataGridViewTextBoxCell
cel2 = New DataGridViewTextBoxCell
cel3 = New DataGridViewTextBoxCell
cel1.Value = Me.ComboBox_type_mvt.SelectedItem
cel2.Value = Me.TextBox_Ra.Text
cel3.Value = Me.TextBox_beta.Text
For i = 0 To Form_creation_profil.DataGridView1.RowCount - 1
degremax = degremax + Form_creation_profil.DataGridView1.Rows(i).Cells(2).Value
Next
degremax = degremax + cel3.Value
If degremax > 360 Then
Call erreurdegremax()
Else
ligne.Cells.Add(cel1)
ligne.Cells.Add(cel2)
ligne.Cells.Add(cel3)
Form_creation_profil.DataGridView1.Rows.Add(ligne)
Me.Hide()
End If
End Sub
Merci d'avance de votre aide.
A voir également:
Reference to a non-shared member requires an object reference
JOND210289
Messages postés11Date d'inscriptiondimanche 16 octobre 2011StatutMembreDernière intervention19 novembre 2011 19 nov. 2011 à 15:16
Salut,
Si j'ai rajouté cette ligne c'est parce que quand je l'enlève j'ai ce message d'erreur :
Error 1 Reference to a non-shared member requires an object reference.
Alors que sur Visual studio 2010 ça marche sans cette ligne. J'ai passé beaucoup de temps a chercher comment résoudre ce problème mais je ne trouve pas. Help me!
JOND210289
Messages postés11Date d'inscriptiondimanche 16 octobre 2011StatutMembreDernière intervention19 novembre 2011 19 nov. 2011 à 15:46
Re:
Oui j'ai bien mis partout partout des Public class, public sub. Mais j'ai l'impression que sur vb 2005 il faut lui indiquer le chemin pour aller d'un .form à l'autre. Mais je ne vois pas comment on fait cela.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Ok...
J'ai pas de 2005 bien sûr, mais je ne pense pas que ça a un rapport, il doit y avoir des "petites souris" qui ont mangé le fil de la liaison entre les deux Forms.
Si tu as VB2005, fait un projet à neuf avec deux Forms et essaye d'accéder entre eux.
Il n'y a pas de raison que ça ne marche pas...
Puis je vais te simplifier un peu le code et tu vas le tester.
JOND210289
Messages postés11Date d'inscriptiondimanche 16 octobre 2011StatutMembreDernière intervention19 novembre 2011 19 nov. 2011 à 16:09
Oui cette solution de refaire le projet a neuf je l'ai fais deux fois.
Là je viens de créer un projet où j'ai ajouter deux .form :
Public Class Form1
Public Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Form2.Show()
End Sub
End Class
Public Class Form2
End Class
Et c'est la même chose : Error 1 Reference to a non-shared member requires an object reference.
Je ne comprend pas. visual studio 2005 utilise .net frameworks v2 alors que vs 2010 c'est frameworks v4, il y aurait il un rapport?
JOND210289
Messages postés11Date d'inscriptiondimanche 16 octobre 2011StatutMembreDernière intervention19 novembre 2011 19 nov. 2011 à 16:21
Oui j'ai les deux versions. En fait je dois créer une macro pour SolidWorks (logiciel de CAO), je commence par créer un projet VB.net par l'intermédiaire de solidworks qui lui ouvre "SolidWorks Visual Studio Tools for Applications"
qui est Visual Studio 2005 V8.0.50727.42 Tools for applications avec microsoft .NET Framework Version 2.0250727 SP2.
JOND210289
Messages postés11Date d'inscriptiondimanche 16 octobre 2011StatutMembreDernière intervention19 novembre 2011 19 nov. 2011 à 16:24
Oui j'ai pensée à cette optique mais d'une je ne suis pas sur que ce soit possible et les ordinateurs sur lequel dois fonctionner ma macro ne possède pas visual basic 2010 et je n'ai pas le droit de l'installer dessus.
JOND210289
Messages postés11Date d'inscriptiondimanche 16 octobre 2011StatutMembreDernière intervention19 novembre 2011 19 nov. 2011 à 16:42
Merci pour les informations, mais ma situation est la suivante: je suis étudiant en mécanique et je dois présenter une macro qui calcul des profils de came à mes professeurs sur les machines de l'université que je ne peux pas modifier. Donc faudrait que j'aille à l'université voir si ça fonctionne et du coup voir si le problème vient de mon ordinateur personnel.
JOND210289
Messages postés11Date d'inscriptiondimanche 16 octobre 2011StatutMembreDernière intervention19 novembre 2011 19 nov. 2011 à 16:51
Oh oui, sachant que dernièrement j'ai formaté mon ordinateur et j'ai tout réinstallé proprement mes logiciels et tout mis à jour. Je vais voir à l'université si ma macro marche et demander au service informatique si il n'en pas déjà eu ce problème. Merci pour vos conseils.
Imports System.Windows.Forms
Public Class Form1
Inherits Form
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Form2 As Form2 = New Form2
Form2.Show()
End Sub
End Class
Public Class Form2
Inherits Form
End Class