Hallo,
Ich bin gerade dabei das Beispiel zum Knoten setzen aus der Programmbeschreibung (2004) für R-Stab 6 zum laufen zu bringen und dabei auf einige Fragen gestoßen.
Wenn ich den unten stehenden Code ausführe (Ich arbeite mit Visual Basic 2005 Express), hängt das Programm immer an der Aussage:
RS_StructureData.rsSetNodeArr(knotenzahl, Knoten(0))
Fehlermeldung:
COMException wurde nicht behandelt
Ausnahme von HRESULT: 0xC0000005
Kann mir jemand sagen, woran das liegt und wie man das beheben kann.
(Bitte korrigiert auch den anderen Code, wenn dort etwas zu kompliziert oder unschön ist)
Vielen Dank schon mal im Voraus
Viele Grüße
Martin
Hier ist der mein Code:
Public Class Form1
Dim RS_App As RSTAB6.IrsApplication
Dim RS_Structure As RSTAB6.IrsStructure
Dim RS_StructureData As RSTAB6.IrsStructuralData
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
RS_Structure = GetObject(, "RStab6.Structure")
'Weist RS-Structure die aktuelle Rstab Datei (Struktur) zu
RS_App = RS_Structure.rsGetApplication
'Weist RS-App die aktuelle Rstab Application zu
RS_App.rsLockLicence()
'Belegt eine Liznes von RS-COM. Muss ausgeführt werden, damit RS-Com funktioniert.
RS_StructureData = RS_Structure.rsGetStructuralData
Dim Knoten() As RSTAB6.RS_NODE
Dim knotenzahl As Integer
Dim i As Integer
knotenzahl = 3
ReDim Knoten(knotenzahl)
For i = 0 To knotenzahl - 1
Knoten(i).iNo = i + 1
Knoten(i).iRefNodeNo = 0
Knoten(i).csType = RSTAB6.RS_CS_TYPE.CS_CARTESIAN
Knoten(i).x = i + 5
Knoten(i).y = i + 6
Knoten(i).z = i + 7
Knoten(i).strComment = ""
Knoten(i).ID = "ID NUMBER"
MessageBox.Show("Number:" & Knoten(i).iNo.ToString & " RefNode:" & Knoten(i).iRefNodeNo.ToString & " X:" & Knoten(i).x.ToString & " Y:" & Knoten(i).y.ToString & " Z:" & Knoten(i).z.ToString & " Comment:" & Knoten(i).strComment & " ID:" & Knoten(i).ID)
Next i
RS_StructureData.rsPrepareModification()
RS_StructureData.rsSetNodeArr(knotenzahl, Knoten(0)) 'Hier ist das Problem
RS_StructureData.rsFinishModification()
RS_App.rsUnlockLicence() 'Gibt RStab lizenz wieder frei
End Sub
End Class
Ich bin gerade dabei das Beispiel zum Knoten setzen aus der Programmbeschreibung (2004) für R-Stab 6 zum laufen zu bringen und dabei auf einige Fragen gestoßen.
Wenn ich den unten stehenden Code ausführe (Ich arbeite mit Visual Basic 2005 Express), hängt das Programm immer an der Aussage:
RS_StructureData.rsSetNodeArr(knotenzahl, Knoten(0))
Fehlermeldung:
COMException wurde nicht behandelt
Ausnahme von HRESULT: 0xC0000005
Kann mir jemand sagen, woran das liegt und wie man das beheben kann.
(Bitte korrigiert auch den anderen Code, wenn dort etwas zu kompliziert oder unschön ist)
Vielen Dank schon mal im Voraus
Viele Grüße
Martin
Hier ist der mein Code:
Public Class Form1
Dim RS_App As RSTAB6.IrsApplication
Dim RS_Structure As RSTAB6.IrsStructure
Dim RS_StructureData As RSTAB6.IrsStructuralData
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
RS_Structure = GetObject(, "RStab6.Structure")
'Weist RS-Structure die aktuelle Rstab Datei (Struktur) zu
RS_App = RS_Structure.rsGetApplication
'Weist RS-App die aktuelle Rstab Application zu
RS_App.rsLockLicence()
'Belegt eine Liznes von RS-COM. Muss ausgeführt werden, damit RS-Com funktioniert.
RS_StructureData = RS_Structure.rsGetStructuralData
Dim Knoten() As RSTAB6.RS_NODE
Dim knotenzahl As Integer
Dim i As Integer
knotenzahl = 3
ReDim Knoten(knotenzahl)
For i = 0 To knotenzahl - 1
Knoten(i).iNo = i + 1
Knoten(i).iRefNodeNo = 0
Knoten(i).csType = RSTAB6.RS_CS_TYPE.CS_CARTESIAN
Knoten(i).x = i + 5
Knoten(i).y = i + 6
Knoten(i).z = i + 7
Knoten(i).strComment = ""
Knoten(i).ID = "ID NUMBER"
MessageBox.Show("Number:" & Knoten(i).iNo.ToString & " RefNode:" & Knoten(i).iRefNodeNo.ToString & " X:" & Knoten(i).x.ToString & " Y:" & Knoten(i).y.ToString & " Z:" & Knoten(i).z.ToString & " Comment:" & Knoten(i).strComment & " ID:" & Knoten(i).ID)
Next i
RS_StructureData.rsPrepareModification()
RS_StructureData.rsSetNodeArr(knotenzahl, Knoten(0)) 'Hier ist das Problem
RS_StructureData.rsFinishModification()
RS_App.rsUnlockLicence() 'Gibt RStab lizenz wieder frei
End Sub
End Class
Kommentar