Hallo IV Gemeinde
Ich habe ein Problem mit Option Strict on
Nach dem was ich so über vb.Net gelesen habe soll man Option Strict On benutzen "Option Strict beschränkt implizite Datentypumwandlungen nur bei erweiternder Konvertierung"
Jetzt habe ich bei meinen Code aber zwei Fehler die ich nicht verstehe und bekomme sie auch nicht weg. Kann mir einer von euich sagen was ich tun muß um die Fehler zu beheben.
Die Fehlermeldung "Option Strict lässt keine späte Bindung zu"
Meine Code
Private Sub Speichern_Click(sender As Object, e As EventArgs) Handles Speichern.Click
Dim oPropSets As PropertySets
oPropSets = oDoc.PropertySets
Dim oProp As [Property]
Dim oPropSet As PropertySet
For Each oPropSet In oDoc.PropertySets
For Each oProp In oPropSet
If oProp.DisplayName = "Description" Then
oProp.Value = ""
Else
If oProp.DisplayName = "DESCRIPTION" Then
oProp.Value = ""
Else
If oProp.DisplayName = "Zulieferer" Then
oProp.Value = Me.Hersteller.Text
Else
If oProp.DisplayName = "Bestandsnummer" Then
oProp.Value = ""
Else
If oProp.DisplayName = "BESTELLANGABEN" Then
oProp.Value = ""
End If
End If
End If
End If
End If
Next
Next
'**************************************************************
'Artikelnummer Hersteller
'**************************************************************
Dim temp As String
Dim Temp1 As String
temp = Me.ArtikelNr_Hersteller.Text
Temp1 = Mid(temp, 1, 50)
Me.ArtikelNr_Hersteller.Text = Temp1
'MsgBox("ArtikelNr Hersteller" & vbCrLf & (Temp1))
'***************************************************************
'Firmenkürzel plus Punkt
'***************************************************************
Dim x, x1, x2, x3 As String
x = Me.Hersteller.Text
x1 = Microsoft.VisualBasic.Left(x, 3)
x2 = UCase(x1)
x3 = ""
x3 = x2 & "." & Me.ArtikelNr_Hersteller.Text
'MsgBox("Woll ArtikelNummer" & vbCrLf & x3)
'***************************************************************
'Dateiname, Länge ermitteln u. die 4 letzten Stellen abschneiden
'***************************************************************
Dim StrD1 As String
Dim StrD2 As String
StrD1 = oInventorApp.ActiveDocument.DisplayName
StrD2 = CType(Len(StrD1), String)
StrD2 = CType(CInt(StrD2) - 4, String)
StrD1 = Microsoft.VisualBasic.Left(StrD1, CInt(StrD2))
Me.Woll_Dateiname.Text = StrD1
'MsgBox(StrD1)
'****************************************************************
'Bestellangaben aus Hersteller Typenbezeichnung
'****************************************************************
If Me.Woll_Bestellangaben.Text = "" Then
Me.Woll_Bestellangaben.Text = Me.Type_Bezeichnung.Text
End If
'*****************************************************************
'Artikelnummer setzen
'*****************************************************************
If Me.ArtikelNr_Hersteller.Text <> "" Then
Me.Woll_ArtikelNr.Text = x3
End If
'*****************************************************************
'Dateiname generieren
'*****************************************************************
Dim DN As String = ""
If ArtikelNr_Hersteller.Text <> "" And Type_Bezeichnung.Text <> "" And ArtikelNr_Hersteller.Text <> Type_Bezeichnung.Text Then
DN = Hersteller.Text & ", " & ArtikelNr_Hersteller.Text & " " & Type_Bezeichnung.Text & " " & Bezeichnung.Text
ElseIf ArtikelNr_Hersteller.Text <> "" And Type_Bezeichnung.Text <> "" And ArtikelNr_Hersteller.Text = Type_Bezeichnung.Text Then
DN = Hersteller.Text & ", " & ArtikelNr_Hersteller.Text & " " & Bezeichnung.Text
ElseIf ArtikelNr_Hersteller.Text = "" And Type_Bezeichnung.Text <> "" Then
DN = Hersteller.Text & ", " & Type_Bezeichnung.Text & " " & Bezeichnung.Text
ElseIf ArtikelNr_Hersteller.Text <> "" And Type_Bezeichnung.Text = "" Then
DN = Hersteller.Text & ", " & ArtikelNr_Hersteller.Text & " " & Bezeichnung.Text
ElseIf ArtikelNr_Hersteller.Text = "" And Type_Bezeichnung.Text = "" Then
MsgBox("Info!" & vbCrLf &
vbCrLf & "***********************************************" _
& vbCrLf & "Bitte mindestens die Artikelnummer ausfüllen!")
Exit Sub
End If
If Me.Woll_Dateiname.Text <> DN Then
Me.Woll_Dateiname.Text = DN
' MsgBox(Me.Woll_Dateiname.Text & vbCrLf & Me.Woll_ArtikelNr.Text & vbCrLf & Woll_Bestellangaben.Text)
End If
' ****************************************************************
' ** Formularwerte in Bauteil speichern **
' ****************************************************************
For Each oPropSet In oDoc.PropertySets
For Each oProp In oPropSet
If oProp.DisplayName = "Description" Then
oProp.Value = Me.Bezeichnung.Text
Else
If oProp.DisplayName = "DESCRIPTION" Then
oProp.Value = Me.DESCRIPTION.Text
Else
If oProp.DisplayName = "Zulieferer" Then
oProp.Value = Me.Hersteller.Text
Else
If oProp.DisplayName = "Bestandsnummer" Then
oProp.Value = x3
Else
If oProp.DisplayName = "BESTELLANGABEN" Then
oProp.Value = Me.Type_Bezeichnung.Text
End If
End If
End If
End If
End If
Next
Next
If oInventorApp.ActiveDocumentType = DocumentTypeEnum.kPartDocumentObject Then
Dim newPath As String
newPath = p1 & "\ " & DN & ".ipt"
Call oInventorApp.ActiveDocument.SaveAs(newPath, False)
End If
If oInventorApp.ActiveDocumentType = DocumentTypeEnum.kAssemblyDocumentObject Then
Dim newPath As String
newPath = p1 & "\ " & DN & ".iam"
Call oInventorApp.ActiveDocument.SaveAs(newPath, True)
Dim oRefDocs As DocumentsEnumerator
oRefDocs = oInventorApp.ActiveDocument.AllReferencedDocuments
Dim oc As ComponentOccurrence
Dim asmDoc1 As AssemblyDocument
asmDoc1 = CType(oInventorApp.ActiveDocument, AssemblyDocument)
Dim oRefDoc As Document
Dim i As Integer
i = 1
Dim oocc As ComponentOccurrence
Dim InvDoc As AssemblyDocument
InvDoc = CType(oInventorApp.ActiveDocument, AssemblyDocument)
'************************************************************************
'**Referenzierte Bauteile suchen und ersetzen
'************************************************************************
Dim a, c, D, zt, pp As String
For Each oocc In InvDoc.ComponentDefinition.Occurrences
a = CType(Len(Bezeichnung.Text), String) 'Länge Bezeichnung
c = CType(Len(DN), String) 'Temp String
D = CType(CInt(c) - CInt(a), String) 'Temp String minus Länge der Bezeichnung
zt = VB.Left(DN, CInt(D) - 1) 'Name für Bauteilkomponenten
pp = p1 & "\ " & zt & " T0" & i & " " & Bezeichnung.Text & ".ipt"
Call oocc.Definition.Document.SaveAs(pp, True) Fehler
On Error Resume Next
Call oocc.Replace(pp, False)
i = i + 1
Next
End If
If oInventorApp.ActiveDocumentType = DocumentTypeEnum.kAssemblyDocumentObject Then
Dim newPath As String
newPath = p1 & "\ " & DN & ".iam"
Call oInventorApp.ActiveDocument.SaveAs(newPath, False)
End If
If Me.ChkBoxFixieren.Checked = True Then
fixieren()
Else
End If
oDoc.Close(True)
Dim s As New String(CType("Aufgabe ist erledigt!" & vbCrLf & "Ihr Kaufteil liegt im Ordner " & p1 & vbCrLf & "unter der Bezeichnnung :" & DN, Char()))
MsgBox(s)
oInventorApp.SilentOperation = False
Me.Close()
End Sub
------------------------
Private Sub fixieren()
Dim InvDoc As AssemblyDocument
InvDoc = CType(oInventorApp.ActiveDocument, AssemblyDocument)
Dim oocc As ComponentOccurrence
Dim oocc2 As ComponentOccurrence
Dim subassy As AssemblyDocument
For Each oocc In InvDoc.ComponentDefinition.Occurrences
If oocc.DefinitionDocumentType = DocumentTypeEnum.kAssemblyDocumentObject Then
subassy = oInventorApp.Documents.Open(oocc.fullFilename, True)hier ist d. Fehler
For Each oocc2 In subassy.ComponentDefinition.Occurrences
oocc.Grounded = True
Next
ElseIf oocc.DefinitionDocumentType = DocumentTypeEnum.kPartDocumentObject Then
oocc.Grounded = True
End If
Next
End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP