Autor
|
Thema: Großes Problem (2052 mal gelesen)
|
tonka Mitglied
Beiträge: 59 Registriert: 18.07.2006
|
erstellt am: 15. Mrz. 2007 11:55 <-- editieren / zitieren --> Unities abgeben:
Hy@all Ich habe ein rießen Problem. Wir arbeiten auf CATIA V5 R14 & R16 und haben einige VBA-Makros extern. Programmiert wurden sie in C#.NET (2005) und in VB.NET (2005). Diese funktionieren nur auf meinem PC, also auf jenem, mit dem Sie programmiert wurden, jedoch funktioniert es bei allen anderen Rechnern nicht, sowohl bei VB als auch bei C#. Das eine Beispielprogramm soll ein Geometrisches Set anlegen und dann aus einem File eine Punktewolke auslesen. Das Geomatrische Set wird erstellt, jedoch sobald ich mit der Hybridshapfactory einen 3D-Punkt(PointCoord) erstellt bekomme ich eine Exception. Wieso??? Code:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim err As Integer = 0 If (System.IO.File.Exists(OpenFileDialog1.FileName) = True) Then Dim CATIA As INFITF.Application Try Dim CATIA0 As Object CATIA0 = Marshal.GetActiveObject("CATIA.Application") CATIA = CATIA0 'as INFITF.Application Catch ex As Exception Console.WriteLine("Error beim Zugriff auf CATIA V5") err = 1 Console.ReadLine() End Try If (err = 0) Then Console.WriteLine("Verbindung zu CATIA hergestellt\n\n") Dim bauteil As Part Dim HSFactory As HybridShapeTypeLib.HybridShapeFactory Dim wzk3d As Factory Dim Doc As PartDocument = CATIA.ActiveDocument bauteil = Doc.Part HSFactory = bauteil.HybridShapeFactory Dim HB As HybridBodies HB = bauteil.HybridBodies Dim GeoSet As HybridBody GeoSet = HB.Add() GeoSet.Name = "Punktewolke" Dim sr As StreamReader = New StreamReader(OpenFileDialog1.FileName) Dim Wert As String = "" Dim zw(), zw1() As String ReDim zw(5)
Dim i, j, x As Integer Do Wert = sr.ReadLine() i = i + 1 Loop While (i <> 3) Do Wert = sr.ReadLine() zw1 = System.Text.RegularExpressions.Regex.Split(Wert, " ") x = 0 For j = 0 To zw1.Length - 1 If (zw1(j) <> "" And zw1(j) <> " ") Then zw(x) = zw1(j) x = x + 1 End If Next Dim Punkt As HybridShapeTypeLib.HybridShapePointCoord Punkt = HSFactory.AddNewPointCoord(Convert.ToDouble(zw(0)), Convert.ToDouble(zw(1)), Convert.ToDouble(zw(2))) GeoSet.AppendHybridShape(Punkt) Loop While (sr.Peek() > 0) bauteil.Update() Else MsgBox("Parameterfile exestiert nicht") End If End If End Sub
Was kann ich tun, das Problem ist sehr dringend! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Axel.Strasser Ehrenmitglied V.I.P. h.c. Selbstständig im Bereich PLM/CAx
Beiträge: 4107 Registriert: 12.03.2001 Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!
|
erstellt am: 15. Mrz. 2007 13:34 <-- editieren / zitieren --> Unities abgeben: Nur für tonka
Nachdem es ja exe sind, müssen die entsprechenden Runtime Libraries auch installiert sein. Die sind in der regel bei einer "nackten" OS Installation nicht dabei. Wenn Du mit der Pro Umgebung entwickelst, solltest Du ein setup generieren können, in dem diese mit enthalten sind. Axel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tonka Mitglied
Beiträge: 59 Registriert: 18.07.2006
|
erstellt am: 15. Mrz. 2007 13:37 <-- editieren / zitieren --> Unities abgeben:
Hallo Axel Ich habe die Standard Version (leider). Was meinst du genau mit den Runtime Libarys? Die von CATIA oder Visual Studio. Ich habe alle Verweise gemacht und alle dll's und sonstiges mitkopiert. MfG Tonka Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Axel.Strasser Ehrenmitglied V.I.P. h.c. Selbstständig im Bereich PLM/CAx
Beiträge: 4107 Registriert: 12.03.2001 Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!
|
erstellt am: 15. Mrz. 2007 16:19 <-- editieren / zitieren --> Unities abgeben: Nur für tonka
Auf Deinem Hardcopie sieht man nicht sehr viel, daher ist alles Spekulation . Also nur ein Mitkopieren der dll reicht nicht Du musst diese auch registrieren. Hast Du die Applikation lokal oder auf einem Share ? Axel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tonka Mitglied
Beiträge: 59 Registriert: 18.07.2006
|
erstellt am: 15. Mrz. 2007 16:31 <-- editieren / zitieren --> Unities abgeben:
|
Axel.Strasser Ehrenmitglied V.I.P. h.c. Selbstständig im Bereich PLM/CAx
Beiträge: 4107 Registriert: 12.03.2001 Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!
|
erstellt am: 15. Mrz. 2007 16:42 <-- editieren / zitieren --> Unities abgeben: Nur für tonka
Dann nehme ich mal an dass Du .NET Framework 2.0 benutzt und dieses auch auf den Rechnern installiert ist. Weiter hast Du mit caspol Dein Netzwerklaufwerk sicherheitsmässig freigeschaltet ? (oder ansonsten versuche mal ob es geht wenn Du es lokal auf der Kiste hast). Axel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tonka Mitglied
Beiträge: 59 Registriert: 18.07.2006
|
erstellt am: 15. Mrz. 2007 16:47 <-- editieren / zitieren --> Unities abgeben:
Ja, ich habe .Net Framework 2.0 und das ist auf der Kiste installiert, auf der programmiert wurde und funktioniert. Habs nicht mit Caspol gemacht, sondern über meine Eigenen .NET 2.0 Framework Sicherheits blabla und habe dort dann ein MSI-Datei generiert. Diese ist auf allen Rechnern installiert worden. Es gibt keine Beschränkungen auf diesem Ordner und Unterordner. Auf einem zweiten PC ist Visual Studio installiert und dort hab ichs auch Debuggt und er schreibt trotzdem den Fehler!????????????????? MfG Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Axel.Strasser Ehrenmitglied V.I.P. h.c. Selbstständig im Bereich PLM/CAx
Beiträge: 4107 Registriert: 12.03.2001 Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!
|
erstellt am: 15. Mrz. 2007 17:32 <-- editieren / zitieren --> Unities abgeben: Nur für tonka
Zitat: Ja, ich habe .Net Framework 2.0 und das ist auf der Kiste installiert, auf der programmiert wurde und funktioniert.
Ist das Framework auch dort installiert wo es laufen soll, wo Du also das Problem hast. Dies muss auf allen Kisten installiert werden auf denen die Appli laufen soll ! Zitat:
Habs nicht mit Caspol gemacht, sondern über meine Eigenen .NET 2.0 Framework Sicherheits blabla und habe dort dann ein MSI-Datei generiert. Diese ist auf allen Rechnern installiert worden. Es gibt keine Beschränkungen auf diesem Ordner und Unterordner.
Bist Du sicher dass es funktioniert, wir haben da auch viel Lehrgeld bezahlt und die sauberste Lösung war letztendlich mit dem Caspol Befehl das Netzwerklaufwerk mit den Applikationen freizugeben. Hast Du mal im Framework Manager nachgeschaut was drin steht? Hast Du mal versucht die Applikation lokal auf einen Rechner zu legen, auf dem Du Probleme hast? Zitat: Auf einem zweiten PC ist Visual Studio installiert und dort hab ichs auch Debuggt und er schreibt trotzdem den Fehler!?????????????????
.NET installiert ? Axel
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tonka Mitglied
Beiträge: 59 Registriert: 18.07.2006
|
erstellt am: 16. Mrz. 2007 07:43 <-- editieren / zitieren --> Unities abgeben:
Natürlich ist das Framework auch dort installiert wo es laufen soll, sonst würde das Programm ja auch nicht starten. Das Geometrische Set wird ja angelegt, nur der Punkt geht nicht (und viele andere Befehle). Es laufen schon eine Menge .NET-Prgramme auf den Netzlaufwerk - problemlos. Ja, ich bin sicher das die Sicherheitszuweisung auf meine Art funktioniert. Zitat:
Zitat:Auf einem zweiten PC ist Visual Studio installiert und dort hab ichs auch Debuggt und er schreibt trotzdem den Fehler!????????????????? .NET installiert ?
Ja, auf der zweite Maschine ist das Framework plus Visual Studio installiert, aber dort schmießt er trotzdem den Fehler. Aber keine Richtige Exception, sondern so einen Com-Fehler, wo VS dann hinschreibt ob man unterbrechen oder weiter machen will. MfG Tonka Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAMiCADse Mitglied
Beiträge: 177 Registriert: 17.02.2006 V5,R19,SP9
|
erstellt am: 16. Mrz. 2007 09:34 <-- editieren / zitieren --> Unities abgeben: Nur für tonka
Hallo Tonka, hast du R14 und R16 parallel auf den Maschinen laufen? Damit hatte ich auch schon meine Problemchen. Hast du schon mal versucht CATIA neu als com-server zu registrieren, damit die richtigen TypeLibs gezogen werden? Also erst mal CNEXT /unregserver und dann wieder CNEXT /regserver. Keine Ahnung ob das was bringt, aber Schaden kanns jedenfalls nicht. Gruß CAMiCADse Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tonka Mitglied
Beiträge: 59 Registriert: 18.07.2006
|
erstellt am: 16. Mrz. 2007 09:55 <-- editieren / zitieren --> Unities abgeben:
Hy Habs jetzt bei einem PC gemacht und da fuktioniert jetzt zumindest das Punkte generieren. Komisch, ich habe das mit /regserver schon mal gemacht, nur ohne /unregserver vorher. Werds jetzt bei mehreren Rechnern probieren. Danke erstmale für eure Hilfe. MfG Tonka Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |