Autor
|
Thema: .net Problem (3790 mal gelesen)
|
Augustiner Mitglied Konstrukteur
Beiträge: 188 Registriert: 02.12.2005 HP Workstation Windows XP Professional Visual Studio 2005 Professional CATIA V5 R14SP5 & R17SP3
|
erstellt am: 13. Jul. 2006 13:49 <-- editieren / zitieren --> Unities abgeben:
Servus versuche mich gerade in Visual Studio einzuarbeiten.Wenn ich versuche Catia anzusprechen bekomme ich immer eine Fehlermeldung siehe Anhang. Ist jemand dieses Problem bekannt?? Ich vermute es liegt an der speziellen Installation bei uns (Autokonzern).Entweder an fehlenden einträgen in der Registry oder an einer gesperrten COM-Schnittstelle?? Auf jedenfall muss ich das Problem genauer eingrenzen können. Hoffe das mir jemand weiterhelfen kann ! Gruß Andi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mathias.bergundthal Mitglied informatiker
Beiträge: 153 Registriert: 03.08.2005 HP xw6000 - WXP Pro SP2 - CATIA V5 R16 SP9 - Visual Studio 2005
|
erstellt am: 13. Jul. 2006 14:19 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
|
Augustiner Mitglied Konstrukteur
Beiträge: 188 Registriert: 02.12.2005 HP Workstation Windows XP Professional Visual Studio 2005 Professional CATIA V5 R14SP5 & R17SP3
|
erstellt am: 13. Jul. 2006 14:53 <-- editieren / zitieren --> Unities abgeben:
|
mathias.bergundthal Mitglied informatiker
Beiträge: 153 Registriert: 03.08.2005 HP xw6000 - WXP Pro SP2 - CATIA V5 R16 SP9 - Visual Studio 2005
|
erstellt am: 13. Jul. 2006 15:04 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
Also hast du CATIA gestartet? oder willst du mit deiner applikation CATIA starten? denn so wie du es momentan am programmiren bist, erstellst du einfach ein object mit der referenz auf CATIA. also so wie du es jetzt programmiert hast musst du CATIA gestartet haben damit du keine fehlermeldung bekommst. (Referenzen kannst du unter Projekt --> "Referenzen hinzufügen" verwalten, wenn du zum beispiel in einem sketcher arbeiten willst muss du die referenz für das modul erstmal laden bevor du es gebrauchen kannst) [Diese Nachricht wurde von mathias.bergundthal am 13. Jul. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Augustiner Mitglied Konstrukteur
Beiträge: 188 Registriert: 02.12.2005 HP Workstation Windows XP Professional Visual Studio 2005 Professional CATIA V5 R14SP5 & R17SP3
|
erstellt am: 13. Jul. 2006 15:16 <-- editieren / zitieren --> Unities abgeben:
Ich will beides versuchen. Mir ist klar das ich mit getobject ein laufendes CAtia einbinde und mit createobject Catia starte.Mit beiden Methoden kommt die fehlermeldung "Activex komponente kann nicht erzeugt werden". Mit createobject zusätzlich die Meldung vom Lizenz Manager. Mit Referenzen meinst du wahrscheinlich "Verweiss hinzufügen" siehe Anhang Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mathias.bergundthal Mitglied informatiker
Beiträge: 153 Registriert: 03.08.2005 HP xw6000 - WXP Pro SP2 - CATIA V5 R16 SP9 - Visual Studio 2005
|
erstellt am: 14. Jul. 2006 08:27 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
Was für ein CATIA V5 Release brauchst du? R14 ??? den kannst du noch nicht mit VB.net 2005 ansprechen, nur R16 (also R15 habe ich nicht probiert) Also wir haben auch ein tool das CATIA startet aber wir führen das exe aus mit den CATEnv einstellungen (von da könnten deine lizenz probleme kommen mit dem "createobject") aber eingentlich kannst du CATIA nicht mit CreateObject starten... mein VS geht momentan nicht (wer weiss warum, aber ist ne trial...) daher kann ich gerade schlecht helfen, resp ausprobieren... Ja referenzen sind auf deutsch verweise... ich habe halt alle meine progs auf english. hast am wenigsten probleme (ok ich weiss meine trial version spinnt ) wünsche dir noch viel glück und spass
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: 14. Jul. 2006 08:52 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
Hallo, vielleicht hilft das: In der Eingabeaufforderung ins CATIA-Verzeichnis wechseln(..intel_a\code\bin) und cnext /regserver aufrufen (benötigt Admin-rechte?!?). Damit wird CATIA als COM-Server 'freigeschaltet'. Da du die Typbliotheken unter 'Verweis hinzufügen' gelistet bekommst, sollte das eigentlich schon erledigt sein. Aber wer weiss... Bei mir läuft das auch auf R14, ich verwende aber nicht 'GetObject' sondern:
Code: CATIA = System.Runtime.InteropServices.Marshal.GetActiveObject("CATIA.Application")
Im Ablauf hab ich keinen Unterschied zu GetObject festgestellt. Vielleicht kann hier ein .net-Spezi weitere Vor-/Nachteile erläutern? Gruß CAMiCADse
[Diese Nachricht wurde von CAMiCADse am 14. Jul. 2006 editiert.] 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
|
erstellt am: 14. Jul. 2006 08:57 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
|
CAMiCADse Mitglied
Beiträge: 177 Registriert: 17.02.2006 V5,R19,SP9
|
erstellt am: 14. Jul. 2006 09:30 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
|
Augustiner Mitglied Konstrukteur
Beiträge: 188 Registriert: 02.12.2005 HP Workstation Windows XP Professional Visual Studio 2005 Professional CATIA V5 R14SP5 & R17SP3
|
erstellt am: 14. Jul. 2006 09:43 <-- editieren / zitieren --> Unities abgeben:
|
mathias.bergundthal Mitglied informatiker
Beiträge: 153 Registriert: 03.08.2005 HP xw6000 - WXP Pro SP2 - CATIA V5 R16 SP9 - Visual Studio 2005
|
erstellt am: 14. Jul. 2006 09:52 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
|
CAMiCADse Mitglied
Beiträge: 177 Registriert: 17.02.2006 V5,R19,SP9
|
erstellt am: 14. Jul. 2006 09:52 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
|
Augustiner Mitglied Konstrukteur
Beiträge: 188 Registriert: 02.12.2005 HP Workstation Windows XP Professional Visual Studio 2005 Professional CATIA V5 R14SP5 & R17SP3
|
erstellt am: 14. Jul. 2006 10:16 <-- editieren / zitieren --> Unities abgeben:
|
Augustiner Mitglied Konstrukteur
Beiträge: 188 Registriert: 02.12.2005 HP Workstation Windows XP Professional Visual Studio 2005 Professional CATIA V5 R14SP5 & R17SP3
|
erstellt am: 14. Jul. 2006 10:26 <-- editieren / zitieren --> Unities abgeben:
CamiCad hast evt. schnell eine kleines Beispiel code für mich.Irgendwas z.B im Part Sketcher öffnen oder im leerren Catia ein neues Part öffnen.Nur zum Testen,Danke. Gruß Andi [Diese Nachricht wurde von Augustiner am 14. Jul. 2006 editiert.] 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: 14. Jul. 2006 11:47 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
Hallo Andi, zuhause habe ich auch die Express Edition, da läuft das genau so. Das ansprechen mit GetObject wie du es machst läuft bei mir auch
Code: Dim CATIA As Object CATIA = GetObject(, "CATIA.Application") MsgBox(CATIA.ActiveDocument.Name)
Das Problem muß bei dir woanders liegen.Es gibt insgesamt 4 Mögliche Kombinationen: 1. Object / GetObject s.O. 2. Object / Marshal
Code: Dim CATIA As Object CATIA = System.Runtime.InteropServices.Marshal.GetActiveObject("CATIA.Application") MsgBox(CATIA.ActiveDocument.Name)
Unterschied? Keine Ahnung! IMHO: GetObject ist alter VB6-Style, Das mit Marshal ist .net-Style um COM-Objekte einzubinden Wenn du die Typbibliothek CATIA V5 InfInterfaces hinzufügst (Verweis hinzufügen), kannst du CATIA als CATIA.Apllication deklarieren (Stichwort:early binding), damit ist dann Intellisense auch schon bei 'CATIA.' verfügbar. Das lässt sich dann wieder mit GetObject/Marshal kombinieren. 3. Application / GetObject
Code: Dim CATIA As INFITF.Application CATIA = GetObject(, "CATIA.Application") MsgBox(CATIA.ActiveDocument.Name)
4. Application / Marshal
Code: Dim CATIA As INFITF.Application CATIA = System.Runtime.InteropServices.Marshal.GetActiveObject("CATIA.Application") MsgBox(CATIA.ActiveDocument.Name)
Wie gesagt, ich denke entweder laufen alle Varianten oder eben keine Mich würde interessieren ob jemand Erfahrungen in Bezug auf Verhalten/Kompatibilität/Stabilität mit CATIA V5R14 und VB2005 im Vergleich zu VB6 gemacht hat? Es gibt da ja sehr unterschiedliche Aussagen, die einen sagen 'Läuft problemlos', aber eben auch von seiten Dassaults: .NET is NOT SUPPORTED: http://www-1.ibm.com/support/docview.wss?rs=886&context=SSVJ2K&q1=%22.net%22&q2=HD35054&uid=swg1HD35054&loc=en_US&cs=utf-8&lang=en Gruß CAMiCADse [Diese Nachricht wurde von CAMiCADse am 14. Jul. 2006 editiert.]
[Diese Nachricht wurde von CAMiCADse am 14. Jul. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Augustiner Mitglied Konstrukteur
Beiträge: 188 Registriert: 02.12.2005 HP Workstation Windows XP Professional Visual Studio 2005 Professional CATIA V5 R14SP5 & R17SP3
|
erstellt am: 14. Jul. 2006 11:58 <-- editieren / zitieren --> Unities abgeben:
|
CAMiCADse Mitglied
Beiträge: 177 Registriert: 17.02.2006 V5,R19,SP9
|
erstellt am: 14. Jul. 2006 13:16 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
Schön das es jetzt klappt, scheint also doch nicht nach dem Prinzip "Alles oder nichts" zu laufen, wenn bei dir Var.1 nicht läuft aber Var 2. - Link ist gefixt Hier noch ein kleines Bsp: Code: ' SUB Dim CATIA As INFITF.Application Try CATIA = System.Runtime.InteropServices.Marshal.GetActiveObject("CATIA.Application") Catch ex As System.Runtime.InteropServices.COMException MessageBox.Show("CATIA V5 starten!", "Error",MessageBoxButtons.OK, MessageBoxIcon.Error) Exit Sub End TryDim MyPartDoc As PartDocument = CATIA.Documents.Add("Part") Dim MyPart As Part = MyPartDoc.Part Dim MyHB As HybridBody = MyPart.HybridBodies.Add() Dim MyHSF As HybridShapeFactory = MyPart.HybridShapeFactory Dim MyP As HybridShapePointCoord = MyHSF.AddNewPointCoord(10, 10, 10) MyHB.AppendHybridShape(MyP) MyPart.Update() ' END SUB
Damit du nicht Dim MyHB As MECMOD.HybridBody schreiben mußt, muß der Namespace MECMOD entweder mit Imports MECMOD importiert werden (in 1.Zeile schreiben), oder global für das ganze Projekt bei den Namespaces Haken setzen.(Rechtsklick auf Projekt -> Eigenschaften. Unter Verweise (s. Bild)) Gruß CAMiCADse
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Augustiner Mitglied Konstrukteur
Beiträge: 188 Registriert: 02.12.2005 HP Workstation Windows XP Professional Visual Studio 2005 Professional CATIA V5 R14SP5 & R17SP3
|
erstellt am: 14. Jul. 2006 13:31 <-- editieren / zitieren --> Unities abgeben:
Und gleich noch eine Frage , kann ich auch Catscripts Starten?? Jetzt kann ich mir endlich mal Literatur dazu besorgen(Buchtipps?).Hatt jemand ein paar Tips wie ich mich da am besten einarbeite? Bis jetzt hatte ich nur mit Catscript gearbeitet und mich so durchgewurstelt mit Recorder und der großartigen Hilfe hier aus dem Forum. Gruß Andi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Augustiner Mitglied Konstrukteur
Beiträge: 188 Registriert: 02.12.2005 HP Workstation Windows XP Professional Visual Studio 2005 Professional CATIA V5 R14SP5 & R17SP3
|
erstellt am: 17. Jul. 2006 12:58 <-- editieren / zitieren --> Unities abgeben:
UNd gleich noch Fragen zum Bereitstellen: 1. Gibt es die möglichkeit EINE ausfürbare EXE zu erstellen die dann auf anderen Rechnern ausgeführt werden kann ohne das mann was installieren muss? 2. Wenn 1. nicht möglich ist was ist dann die Ideale Bereitstellung? Bzw. wie macht ihr denn das? Gruß Andi 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
|
erstellt am: 17. Jul. 2006 13:09 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
Wenn Du eine exe mit .net erstellst und auf einen Netzwerkshare stellen willst, musst Du Dir Gedanken zur Security machen. Wir sind gerade daran uns da einzuarbeiten. Eine exe auf einer lokalen Disk und auf einem Netzlaufwerk verhalten sich bei der Ausführung unterschiedlich. Das idealste wäre es schon, es sollte aber Deine ganze andere Umgebung dazu auch noch stimmen (Catenv etc.) Axel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Augustiner Mitglied Konstrukteur
Beiträge: 188 Registriert: 02.12.2005 HP Workstation Windows XP Professional Visual Studio 2005 Professional CATIA V5 R14SP5 & R17SP3
|
erstellt am: 17. Jul. 2006 13:23 <-- editieren / zitieren --> Unities abgeben:
Nun die umgebung ist rein Theoretisch auf allen Zielrechnern gleich.Mir ist es bis jetzt nur gelungen ein Setup(s. Anhang) zu erstellen das dann auf den Zielrechnern "installiert" wird.Da bei uns aber alle Anwender keine Adminrechte haben wird das zu Problemen führen. Weiss jemand wie ich eine EXE unter VB 2005 erstelle? 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
|
erstellt am: 17. Jul. 2006 13:38 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
Eine exe alleine kannst Du ja über "Erstellen" erzeugen. Das was Du da hast ist so etwas wie eine "published Applikation", aber kein setup zum verteilen. Ich weiss ja nicht wie Ihr ansonsten Eure SW im Netzwerk verteilt, wir machen das mit SMS (wenn es eine Installation braucht) oder legen sie auf einen Netzwerkshare. Axel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Augustiner Mitglied Konstrukteur
Beiträge: 188 Registriert: 02.12.2005 HP Workstation Windows XP Professional Visual Studio 2005 Professional CATIA V5 R14SP5 & R17SP3
|
erstellt am: 17. Jul. 2006 14:35 <-- editieren / zitieren --> Unities abgeben:
Wo wird die exe erstellt? Ist es die exe im Projectverzeichniss unter bin - debug ordner.Wenn ich diese exe ausführe bekomme ich immer Fehlermeldungen(s. Anhang).Was mache ich falsch? Hier noch der code, wenn ich mit Imports ... debugge funktionierts auch nicht.Dann kommt immer .net Sicherheitswarnung.Nur wenn ich die Haken Setze unter Verweise dann funzt es.Irgendwie blick ich da noch nicht ganz durch. Imports INFITF Imports MECMOD Imports HybridShapeTypeLib Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim CATIA As Object CATIA = System.Runtime.InteropServices.Marshal.GetActiveObject("CATIA.Application") Dim MyPartDoc As PartDocument = CATIA.Documents.Add("Part") Dim MyPart As Part = MyPartDoc.Part Dim MyHB As HybridBody = MyPart.HybridBodies.Add() Dim MyHSF As HybridShapeFactory = MyPart.HybridShapeFactory Dim MyP As HybridShapePointCoord = MyHSF.AddNewPointCoord(10, 10, 10) MyHB.AppendHybridShape(MyP) MyPart.Update()
End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click MsgBox("Test") End Sub End Class [Diese Nachricht wurde von Augustiner am 17. Jul. 2006 editiert.] 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
|
erstellt am: 17. Jul. 2006 16:19 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
Wenn Du das Programm geschrieben hast, dann siehst Du alles was unklar ist noch unterstrichen. Wahrsceinlich ist noch nicht alles deklariert. Was erscheinz denn noch wenn Du auf Details gehst ? Ansonsten für die exe schau Anhang Axel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Augustiner Mitglied Konstrukteur
Beiträge: 188 Registriert: 02.12.2005 HP Workstation Windows XP Professional Visual Studio 2005 Professional CATIA V5 R14SP5 & R17SP3
|
erstellt am: 17. Jul. 2006 16:32 <-- 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
|
erstellt am: 17. Jul. 2006 16:38 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
Doch Du hast Sie, nachdem Du mit den Standardnamen arbeitest, was man nicht unbedingt machen sollte, da man damit irgendwann die Übersicht verliert (war es jetzt Button3 oder Button6) , heisst das Ganze bei Dir halt "WindowsApplication1 erstellen" Axel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Augustiner Mitglied Konstrukteur
Beiträge: 188 Registriert: 02.12.2005 HP Workstation Windows XP Professional Visual Studio 2005 Professional CATIA V5 R14SP5 & R17SP3
|
erstellt am: 17. Jul. 2006 16:49 <-- 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
|
erstellt am: 17. Jul. 2006 16:53 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
|
Augustiner Mitglied Konstrukteur
Beiträge: 188 Registriert: 02.12.2005 HP Workstation Windows XP Professional Visual Studio 2005 Professional CATIA V5 R14SP5 & R17SP3
|
erstellt am: 17. Jul. 2006 17:03 <-- 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
|
erstellt am: 17. Jul. 2006 17:11 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
1) Ich habe nicht gefragt ob .net auf dem rechner installiert ist sondern wo die exe liegt 2) Was hast Du alles im Release Directory liegen noch ein paar dll's ? So wie es aussieht findet das Programm nicht alles. Axel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Augustiner Mitglied Konstrukteur
Beiträge: 188 Registriert: 02.12.2005 HP Workstation Windows XP Professional Visual Studio 2005 Professional CATIA V5 R14SP5 & R17SP3
|
erstellt am: 17. Jul. 2006 17:13 <-- editieren / zitieren --> Unities abgeben:
Ah, Sorry. Die exe ist auf der Festplatte.Ich vermute auch das es mit den dll´s zusammenhängt. Ich hab mir jetzt mal die PDF von dir durchgelesesen.Ich zitiere "Das Problem liegt daran,das Sie durch das Verschieben auf das Netzlaufwerk die Zonen-Evidence von lokaler Arbeitsplatz auf Intranet geändert haben............." Und das hab ich im Prinzip getan auf das Netzlaufwerk kopiert und davon auf die lokale Festplatte. [Diese Nachricht wurde von Augustiner am 17. Jul. 2006 editiert.] [Diese Nachricht wurde von Augustiner am 17. Jul. 2006 editiert.] 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
|
erstellt am: 17. Jul. 2006 17:24 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
|
Augustiner Mitglied Konstrukteur
Beiträge: 188 Registriert: 02.12.2005 HP Workstation Windows XP Professional Visual Studio 2005 Professional CATIA V5 R14SP5 & R17SP3
|
erstellt am: 17. Jul. 2006 17:35 <-- editieren / zitieren --> Unities abgeben:
Nächste Fehlermeldung.Hab einfach den ganzen Release Ordner auf´s laufwerk kopiert und dann wieder auf die Festplatte kopiert.Dann tritt vermutlich das Problem auf was zum Schluss in deiner PDF steht. Ich seh schon das wird nicht so easy wie ich das mir vorgestellt hab 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
|
erstellt am: 17. Jul. 2006 21:03 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
|
Augustiner Mitglied Konstrukteur
Beiträge: 188 Registriert: 02.12.2005 HP Workstation Windows XP Professional Visual Studio 2005 Professional CATIA V5 R14SP5 & R17SP3
|
erstellt am: 18. Jul. 2006 07: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
|
erstellt am: 18. Jul. 2006 09:52 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
1) Bei uns läuft die Applikation auch auf einem anderen Rechner. Wir haben allerdings weniger dll's als Du (siehe Anhang). 2) das Buch: Visual Basic 2005. Master Class Einstieg für Anspruchsvolle ISBN: 3-8273-2266-9 Ist ausgerichtet auf Leute die schon Programmiererfahrung haben (Ich will nicht mehr wissen wie man Schleifen baut ). Ich finde es bislng nicht schlecht, habe es aber noch nicht ganz durch. Für mich war es noch wichtig mal eine .net Gesamtübersicht zu bekommen. Axel 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: 18. Jul. 2006 14:04 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
Zitat: Original erstellt von Augustiner: @Camicadse , wie handhabt ihr das ganze bei euch?[/B]
bisher noch gar nicht , bin gerade bei der ersten Anwendung mit VB2005. Da ich mit VB Professional arbeite, hoffe ich das ich die Probleme mit einer Setup-Datei erschlagen kann. Das ist einer der Unterschiede zur Express-Variante (nur exe erzeugen), der mir hier hoffentlich zugute kommt. Gruß CAMiCADse
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Augustiner Mitglied Konstrukteur
Beiträge: 188 Registriert: 02.12.2005 HP Workstation Windows XP Professional Visual Studio 2005 Professional CATIA V5 R14SP5 & R17SP3
|
erstellt am: 19. Jul. 2006 09:39 <-- editieren / zitieren --> Unities abgeben:
Ich würde an Deiner Stelle auf jedenfall mal testen ob dein Programm auch auf anderen Rechnern läuft!! Ich denke nicht das da ein Unterschied vorhanden ist zwischen Professional und Express Edition hinsichtlich Setup erstellung bzw der Konfiguration von .Net Framework 2.0. Gruß Andi 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: 19. Jul. 2006 11:32 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
Das die exe nicht einfach so auf anderen Rechnern läuft, hab ich auch schon festgestellt, selbst wenn auf dem Zielrechner auch VB2005 installiert ist Mit der Express-Edition kannst du aber keine Installationsroutine erstellen, die dann ggf. auch das .net Framework 2.0 installiert usw. Mit der Professional geht das, dann sollten automatisch alle benötigten Librarys,... usw. mit in der Setup-Datei landen und installiert werden. Werde das bei gelegenheit mal testen. Gruß CAMiCADse Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Augustiner Mitglied Konstrukteur
Beiträge: 188 Registriert: 02.12.2005 HP Workstation Windows XP Professional Visual Studio 2005 Professional CATIA V5 R14SP5 & R17SP3
|
erstellt am: 25. Jul. 2006 10:42 <-- editieren / zitieren --> Unities abgeben:
Servus habs jetzt zum laufen gebracht. Das Problem auf den andern Rechnern war das Catia anscheinend nicht vollständig regestriert war. hab über das MS-Dos fenster im BIN verzeichnis Catia/regserver ausgeführt und siehe da schon hatts funktioniert.Schöner Nebeneffekt ist das jetzt an den Catia Dokumenten die richtigen Icons angezeigt werden bzw funktioniert jetzt die Miniaturansicht. Gruß andi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AlfaRomeo75 Mitglied Dipl.Ing. - Flächenkonstrukteur/Methodenplaner
Beiträge: 174 Registriert: 06.12.2004 ----------------- Windows XP professional Version2002 Service Pack 2 ----------------- CATIA V5 R16 SP5 ----------------- Intel Pentium 4 3,4GHz 4 GB RAM -----------------
|
erstellt am: 13. Jan. 2009 11:34 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
Hallo, möchte diesen Thread nochmal reaktivieren, da ich bislang leider keine Antwort auf die Frage von Augustiner gefunden habe. Zitat: Original erstellt von Augustiner: Und gleich noch eine Frage , kann ich auch Catscripts Starten?? ...
Bei mir wäre das Umfeld: CATIA V5 R16+R17 sowie Visual Basic Express Edition 2008. Ziel: Ich möchte *.catvbs aus einem .Net Programm starten bzw. ausführen! Über ein Beispiel würde ich mich sehr freuen! Danke! ------------------ ------------------------------------------------- Gruß, AlfaRomeo75 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 13. Jan. 2009 11:39 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
Hallo, da ich den Thread nicht kenne und ihn mir nicht durchlesen möchte, bitte ich darum dein Problem genauer zu beschreiben. Was genau möchtest du denn machen? ------------------ MFG Rick Schulz Konfuzius sprach: "Wer sich das Alte noch einmal vor Augen führt, um das Neue zu verstehen, der kann anderen ein Lehrer sein."
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AlfaRomeo75 Mitglied Dipl.Ing. - Flächenkonstrukteur/Methodenplaner
Beiträge: 174 Registriert: 06.12.2004 ----------------- Windows XP professional Version2002 Service Pack 2 ----------------- CATIA V5 R16 SP5 ----------------- Intel Pentium 4 3,4GHz 4 GB RAM -----------------
|
erstellt am: 13. Jan. 2009 12:18 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
Zitat: Original erstellt von RSchulz: Hallo, da ich den Thread nicht kenne und ihn mir nicht durchlesen möchte, bitte ich darum dein Problem genauer zu beschreiben. Was genau möchtest du denn machen?
OK, also ich möchte ein catvbs-Skript, welches sonst direkt unter Catia gestartet wird (Alt+F8...) über ein Externes .Net Programm starten. Also ich habe also im Visual Basic Express Edition 2008 eine Form auf der ich ein Button erzeuge! Sobald dieser Button gedrückt wird, soll das catvbs-Script ausgeführt werden. Es kommt die Fehlermeldung "Fehler 1 Der Name "catScriptLibraryTypeDirectory" wurde nicht deklariert." Der Rest des unten angehängten Codes funzt und die CATIA Status Bar meldet mir den Hinweis! Hier ein Auszug aus dem Code: Private Sub Button1_Click...... Dim params() Dim CatiaObj CatiaObj = CreateObject("CATIA.Application") CatiaObj.StatusBar = "Hallo, hier ist KATIA!" 'Soweit läuft alles! CatiaObj.SystemService.ExecuteScript("D:\Macros",catScriptLibraryTypeDirectory, "test.catvbs", "CATMain", params) End Sub ------------------ ------------------------------------------------- Gruß, AlfaRomeo75 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
denyo_1 Moderator Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 13. Jan. 2009 12:48 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
Hallo, du musst das catScriptLibraryTypeDirectory schon deklariern sonst kommt der Fehler. Das liegt daran das du nicht mehr mit dem CATVba unterwegs bist (dort sind die Verweise eindeutig und müssen nicht definiert werden), aber Visual Basic 2008 kennt halt keine Methode, Klasse etc. die sich catScriptLibraryTypeDirectory schimpft. Ich hab mal dein Skript abgeändert. So sollte es jetzt laufen (verruasgesetzt du hast die Verweise auf die INFITF.dllangezogen (aber das solltest du gemacht haben sonst könntest du nicht die StatusBar ändern)) Code: Dim params() Dim TypeOfLib As INFITF.CatScriptLibraryType TypeOfLib = INFITF.CatScriptLibraryType.catScriptLibraryTypeDirectory CATIA.StatusBar = "Hallo, hier ist KATJA!" CATIA.SystemService.ExecuteScript("C:\Dokumente und Einstellungen\Home\Desktop\Catia Files\Macros", TypeOfLib, "Test.catvbs", "CATMain", params)
------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AlfaRomeo75 Mitglied Dipl.Ing. - Flächenkonstrukteur/Methodenplaner
Beiträge: 174 Registriert: 06.12.2004 ----------------- Windows XP professional Version2002 Service Pack 2 ----------------- CATIA V5 R16 SP5 ----------------- Intel Pentium 4 3,4GHz 4 GB RAM -----------------
|
erstellt am: 13. Jan. 2009 13:31 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
Hallo Daniel, vielen Dank für die schnelle Korrektur! (Arbeite erst seid kurzem mit dem .Net! Habe bislang nur mit CATVBS/CATScript experiementiert!) Leider läuft es mit Deinem Code auch nicht! Die Fehlermeldung ist allerdings eine Andere: System.Runtime.InteropServices.COMException wurde nicht behandelt. ErrorCode=-2147352571 Message="Typkonflikt. (Ausnahme von HRESULT: 0x80020005 (DISP_E_TYPEMISMATCH))" Source="Microsoft.VisualBasic" StackTrace: bei Microsoft.VisualBasic.CompilerServices.LateBinding.InternalLateCall ..... Vielleicht hast Du ja spontan eine Idee!!! ------------------ ------------------------------------------------- Gruß, AlfaRomeo75 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
denyo_1 Moderator Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 13. Jan. 2009 14:01 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
Hallo, ich denke das liegt an deinen Verweisen. Die sind entwerder nicht richtig definiert, oder die dll-Dateien sind irgendwie geschrottet. Hier mal meine komplette Datei. Einfach mal öffnen und laufen lassen. Wahrscheinlich musst du den Verweis zur Interop.INFITF.dll nochmal neu machen (Projekt -> Verweise hinzufügen -> Durchsuchen und dann die *.dll-Datei auswählen) EDIT: Mir ist noch was eingefallen ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin [Diese Nachricht wurde von denyo_1 am 13. Jan. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AlfaRomeo75 Mitglied Dipl.Ing. - Flächenkonstrukteur/Methodenplaner
Beiträge: 174 Registriert: 06.12.2004 ----------------- Windows XP professional Version2002 Service Pack 2 ----------------- CATIA V5 R16 SP5 ----------------- Intel Pentium 4 3,4GHz 4 GB RAM -----------------
|
erstellt am: 13. Jan. 2009 14:36 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
Hallo Daniel, dein Programm läuft bei mir! Musste nur den Makropfad und Dateinamen anpassen! Schon lief es! Werde mich dann mal auf die Suche machen und berichten! Trotzdem schonmal! DANKESCHÖN! ------------------ ------------------------------------------------- Gruß, AlfaRomeo75 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
denyo_1 Moderator Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 13. Jan. 2009 14:41 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
Hallo, ich denke es liegt daran das du nur eine CATIA-OBJEKT erzeugt und keine Application. Schau dir mal an wie ich die Verbindung zu CATIA herstelle und vergeliche es mit deiner Methode. Dabei wird dir auffallen das ich ein INFTF.Application erstelle und kein Objekt. ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AlfaRomeo75 Mitglied Dipl.Ing. - Flächenkonstrukteur/Methodenplaner
Beiträge: 174 Registriert: 06.12.2004 ----------------- Windows XP professional Version2002 Service Pack 2 ----------------- CATIA V5 R16 SP5 ----------------- Intel Pentium 4 3,4GHz 4 GB RAM -----------------
|
erstellt am: 14. Jan. 2009 12:05 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
Hallo, habe jetzt Daniels Weg nachvollziehen können und nun funzt es auch! Vielen Dank nochmal! Allerdings habe ich da noch eine Verständnisfrage zu der 'InfTypeLib.tlb'. Wenn ich die aus einem Release 16 importiere, was passiert dann wenn ich ein R17-CATIA auf habe und dann das Programm wieder starte! Mir ist das noch nicht klar? Folgendes Szenario: Ich habe eine Startmaske im .Net erstellt mit der ich Scripte (catvbs) starten kann. Was passiert wenn ich dann Scripte in R17 über diese Maske starte (obwohl die .Net-Maske mit der InfTypeLib.tlb von R16 erstellt worden ist)? Funktioniert hat es mit einem einfachen Script! Ich denke das es nur dann mit dem Release interessant wird, wenn man .Net die ganze "CATIA-Arbeit" machen läßt, und es nicht, wie in meinem Fall die Skripte sind die den Job ausführen? Liege ich da falsch? ------------------ ------------------------------------------------- Gruß, AlfaRomeo75 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
denyo_1 Moderator Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 15. Jan. 2009 09:51 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
Hallo Alfa, also ich hab ein paar Programme mir der InfTypeLib von R16 geschrieben (da macht wie du sagst .NET die komplette CATIA Arbeit und nutzt halt die API´s (MecModLib, InfTypeLib, etc.). Trotzdem laufen die Programme tadellos unter R18. Ich denke das die API´s nicht wirklich geändert werden. Wenn dann kommt in einem höheren Release etwas dazu die alten Methoden und Klassen bleiben aber erhalten. Wenn du aber 100%tig sicher sein willst, dann kannst du die Verweise auch dynamisch im Code anziehen. Dazu würde ich dann folgende Vorgehensweise vorschlagen:
-> InstallFolder von CATIA über die Windows API holen -> Auslesen welche Releases installiert sind (kannst ja über den Ordnername rausfinden (z.B. B16 = Release 16, B18 = Release 18, etc.) -> Die Verweise dann dynamisch anziehen (einfach über die entsprechenden Folders) Dazu musst du halt ein bisschen rumspielen und Googlen. Vorallem das Anziehen eines dynamischen Verweises ist nicht ganz trivial. Es geht aber. Eigentlich wird sowas eingesetzt wenn man eine *.exe ohne Installationsroutine veröffentlicht. Dabei entsteht beim Ausführen des Code (der *.exe) ein Fehler, da der Verweis fehlt. Der Code importiert sich dann selbstsändig diese dll Datei vom Rechner aus dem die exe ausgeführt wird.
------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |