VB.NET erreur (Résolu)

vos questions concernant les API SolidWorks

VB.NET erreur (Résolu)

Messagepar lajproSW » Mar 22 Aoû 2017, 7:06

Bonjour,

Je débute en VB.NET après une formation rapide et je bloque sur une erreur avec le code ci-dessous.
Ce code me permet juste de savoir quel type de document est ouvert, c'est basique et je l'ai déjà fait
en macro. Le code fonctionne dans le sens ou il m'affiche bien un messagebox suivant le type de document
sauf qu’ensuite il lève 2 exceptions (voir fichiers joints) et la fonction "Try Catch" me renvoie le message d'erreur suivant:
"La référence d'objet n'est pas définie à une instance d'un objet."

Merci à tous.

Sub CreateCDG()
Try
Dim swDoc As IModelDoc2
'contrôle type de document
swDoc = SwApp.ActiveDoc
If swDoc Is Nothing Then
MessageBox.Show("Pas de document actif !", "VKAddin", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End If
If swDoc.GetType = 3 Then
MessageBox.Show("Mise en plan ouverte !", "VKAddin", MessageBoxButtons.OK, MessageBoxIcon.Stop)
End If
If swDoc.GetType = 2 Then
MessageBox.Show("Document assemblage ouvert !", "VKAddin", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
If swDoc.GetType = 1 Then
MessageBox.Show("Document piéce ouvert !", "VKAddin", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
Catch ex As Exception
MessageBox.Show(ex.Message, "Erreur [CreateCDG]", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Fichiers joints
2017-08-22_08h01_03.png
2017-08-22_08h01_03.png (23.11 Kio) Vu 139 fois
2017-08-22_08h03_41.png
2017-08-22_08h03_41.png (21.55 Kio) Vu 139 fois
Dernière édition par lajproSW le Mer 30 Aoû 2017, 16:46, édité 1 fois.
lajproSW
Ewok SolidWorks
 
Messages: 36
Inscription: Mar 16 Mar 2010, 10:32
Localisation: VALENCE

Re: VB.NET erreur

Messagepar MarcS » Mer 30 Aoû 2017, 16:35

Imports SolidWorks.Interop.sldworks
Imports SolidWorks.Interop.swconst
Imports System.Runtime.InteropServices
Imports System

Partial Class SolidWorksMacro

Public Sub main()
Dim swDoc As ModelDoc2
Try
'contrôle type de document
swDoc = swApp.ActiveDoc



If swDoc Is Nothing Then
MsgBox("Pas de document actif !", MsgBoxStyle.Exclamation, "TEST_VB")
End If
If swDoc.GetType = 3 Then
MsgBox("Mise en plan ouverte !", MsgBoxStyle.Exclamation, "TEST_VB")
End If
If swDoc.GetType = 2 Then
MsgBox("Document assemblage ouvert !", "VKAddin")
End If
If swDoc.GetType = 1 Then
MsgBox("Document piéce ouvert !", MsgBoxStyle.Exclamation, "TEST_VB")
End If
Catch ex As Exception
MsgBox("Erreur [CreateCDG]")
End Try
End Sub


''' <summary>
''' The SldWorks swApp variable is pre-assigned for you.
''' </summary>
Public swApp As SldWorks


End Class

Si je te donne un poisson tu pourras manger Aujourd’hui
mais si je t’apprend a pêcher tu pourras manger toute ta vie !!!
Salut !

Marc S.
Avatar de l’utilisateur
MarcS
Chevalier Jedi SolidWorks
 
Messages: 303
Inscription: Mar 06 Jan 2009, 20:10
Localisation: Quebec, Quebec SolidWorks 2017 SP 1.0 & SolidWorks 2014 SP 2.0

Re: VB.NET erreur

Messagepar lajproSW » Mer 30 Aoû 2017, 16:45

Bonsoir,

Merci beaucoup pour le code, je vais le reprendre.
lajproSW
Ewok SolidWorks
 
Messages: 36
Inscription: Mar 16 Mar 2010, 10:32
Localisation: VALENCE


Retourner vers Questions générales sur les API

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 4 invités

banniere