| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SolidEdge |
| | |
 | BCT Technology AG erneut als Champion im Professional User Rating - Engineering Solutions 2025 ausgezeichnet, eine Pressemitteilung
|
|
Autor
|
Thema: VB.NET und V16 (589 mal gelesen)
|
progi Mitglied Programmierer

 Beiträge: 74 Registriert: 18.08.2004 VB.net SE 16
|
erstellt am: 02. Mrz. 2005 11:46 <-- editieren / zitieren --> Unities abgeben:         
Hallo, hat einer schon mal die V16 mit vb.net getestet? Ich habe echte Probleme mit den interops. Seit dem ich die V16 installiert habe geht eigentlich nichts mehr richtig. Ich bekomme bei dem ActiveDocument ein Objekt zurück, das sehr viele Fehler als Properties enthält. Hat einer schon mal die V16 (SP5) ferngesteuert? Gruß Andreas ------------------ Besten Dank Andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Matthias Leemann Mitglied Masch. Ing HTL
 
 Beiträge: 394 Registriert: 03.10.2003 Windows 11 Pro Solid Edge 2022
|
erstellt am: 02. Mrz. 2005 14:33 <-- editieren / zitieren --> Unities abgeben:          Nur für progi
Hallo progi, ich habe V16 mit SP5 und habe mit Visual Studio (2002) meine vb.net Projekte ohne Probleme immer weiterentwickeln können. Auch das fernsteuern von SE über vb.net geht ohne Probleme. Hast du ein altes Projekt geöffnet oder ein neues erstellt? Welche Interop-DLL's gehen nicht mehr? Ich hatte mal Probleme als ich ein Setup-Projekt machen wollte. Das Installieren ging perfekt, aber beim Deinstallieren waren alle Referenzen vom vb.net Projekt kaputt. Neuinstallation von SE war die Lösung, wenn man da von Lösung sprechen kann. Gruss Matthias ------------------ SE V16 SP5 SePropManager.NET von www.leemann-software.net Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
progi Mitglied Programmierer

 Beiträge: 74 Registriert: 18.08.2004 VB.net SE 16
|
erstellt am: 02. Mrz. 2005 15:36 <-- editieren / zitieren --> Unities abgeben:         
Hallo, also ich habe ein neues Minitestprogramm entworfen, hier der Code: Dim o As SolidEdgeFramework.Application Dim oDoc As SolidEdgePart.SheetMetalDocument Dim fThickness As Object o = GetObject(, "SolidEdge.Application") oDoc = o.ActiveDocument oDoc.GetGlobalParameter(SolidEdgeConstants.SheetMetalGlobalConstants.seSheetMetalGlobalMaterialThickness, fThickness) In einer einfachen Windowsanwendung im Form_Load eingebunden. Also hier schepperts schon. Das läuft auf meinem Rechner nicht, bei einem Kollegen ebenfalls nicht. Wir haben das VS.net 2003 , Windows 2000, SE 16 (SP5 lief auch mit den anderen nicht!). Würde mich interessieren ob das wo anders läuft. Ich habe die V16 deinstalliert und die V15 wieder installiert, läuft wieder! Ohne Austausch der interops! Gruß Andreas ------------------ Besten Dank Andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Matthias Leemann Mitglied Masch. Ing HTL
 
 Beiträge: 394 Registriert: 03.10.2003 Windows 11 Pro Solid Edge 2022
|
erstellt am: 02. Mrz. 2005 15:55 <-- editieren / zitieren --> Unities abgeben:          Nur für progi
Dein Originalcode läuft bei mir mit geöffnetem PSM Dokument, ich hole die Applikation immer mit folgendem Code: 'Dim o As SolidEdgeFramework.Application 'Dein CODE Dim objapp As SolidEdgeFramework.Application Dim oDoc As SolidEdgePart.SheetMetalDocument Dim fThickness As Object Try 'o = GetObject(, "SolidEdge.Application")'Dein CODE objapp = CType(GetObject(, "SolidEdge.Application"), SolidEdgeFramework.Application)?Mein CODE oDoc = objapp.ActiveDocument oDoc.GetGlobalParameter(SolidEdgeConstants.SheetMetalGlobalConstants.seSheetMetalGlobalMaterialThickness, fThickness) Catch ex as Exeption Messagebox.Show(ex.ToString) End Try ... an welcher Stelle wirft er eine Exeption? Gruss Matthias ------------------ SE V16 SP5 SePropManager.NET von www.leemann-software.net Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
progi Mitglied Programmierer

 Beiträge: 74 Registriert: 18.08.2004 VB.net SE 16
|
erstellt am: 02. Mrz. 2005 15:57 <-- editieren / zitieren --> Unities abgeben:         
|
Matthias Leemann Mitglied Masch. Ing HTL
 
 Beiträge: 394 Registriert: 03.10.2003 Windows 11 Pro Solid Edge 2022
|
erstellt am: 02. Mrz. 2005 16:08 <-- editieren / zitieren --> Unities abgeben:          Nur für progi
oDoc.GetGlobalParameter(SolidEdgeConstants.SheetMetalGlobalConstants.seSheetMetalGlobalMaterialThickness, fThickness) MessageBox.Show(fThickness)'liefert bei mir den Wert 0.002 habe allerdings fthickness als Double deklariert!! (wie im Help beschrieben) Hast du das PSM Dokument neu mit V16 erstellt? Hoffe das hilft weiter Gruss Matthias ------------------ SE V16 SP5 SePropManager.NET von www.leemann-software.net Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
progi Mitglied Programmierer

 Beiträge: 74 Registriert: 18.08.2004 VB.net SE 16
|
erstellt am: 02. Mrz. 2005 16:15 <-- editieren / zitieren --> Unities abgeben:         
Mit dem double hatte ich auch, war in der Version für die V15 eh drin. Meine Schnittstelle zeigte jedoch Objekt an. Auch die PSM Datei habe ich neu erzeugt! Ich habe keine Ahnung wo es da schon wieder klempt! Der Code läuft mit der V15 ohne Probleme. ------------------ Besten Dank Andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
progi Mitglied Programmierer

 Beiträge: 74 Registriert: 18.08.2004 VB.net SE 16
|
erstellt am: 03. Mrz. 2005 06:53 <-- editieren / zitieren --> Unities abgeben:         
Hallo Matthias, besten Dank auf jeden Fall für das Ausprobieren. Warum da immer so viele Unterschiede auf den Windows-Kisten auftreten, das ist schon ein Elend! Gruß Andreas ------------------ Besten Dank Andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
progi Mitglied Programmierer

 Beiträge: 74 Registriert: 18.08.2004 VB.net SE 16
|
erstellt am: 03. Mrz. 2005 15:31 <-- editieren / zitieren --> Unities abgeben:         
Hallo, eine Ursache von dem merkwürdigen verhalten könnte mein MSI-Projekt sein. Das besteht aus 3 weiteren Projekten mit interops zu SE. Verträgt VB.Net doppelte interops nicht? Ich habe alle doppelten ausgeschlossen, keine Warnungen mehr! Wenn man da was im MSI Projekt löscht, dann kann man SE neu installieren, sonst sind einige COM-Verweise in der Auswahlliste nicht mehr verfügbar! Gruß Andreas ------------------ Besten Dank Andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Matthias Leemann Mitglied Masch. Ing HTL
 
 Beiträge: 394 Registriert: 03.10.2003 Windows 11 Pro Solid Edge 2022
|
erstellt am: 03. Mrz. 2005 15:41 <-- editieren / zitieren --> Unities abgeben:          Nur für progi
Hallo Andreas, wie ich in meinem ersten Beitrag eine vage Vermutung hatte (Setup vom VB.NET Projekt installieren und deinstallieren) scheint die Ursache deines Problems in diese Richtung zu gehen. Im Moment lass ich die Finger von solchen Setup oder MSI Projekten, wollte mal noch etwas mit sogenannten Mergemodulen probieren, ich weiss aber bis heute nicht im Detail was genau beim Installieren und Deinstallieren geschieht. Das Setup ist ja auch nicht zwingend nötig (Philosophie von .NET), ausser du hast noch andere DLL's die du registrieren musst. Beim SePropManager.NET stelle ich auch nur ein ZIP-Archiv zur Verfügung, ist nicht so cool zum Installieren aber es funktioniert. Gruss Matthias ------------------ SE V16 SP5 SePropManager.NET von www.leemann-software.net Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
progi Mitglied Programmierer

 Beiträge: 74 Registriert: 18.08.2004 VB.net SE 16
|
erstellt am: 08. Mrz. 2005 14:24 <-- editieren / zitieren --> Unities abgeben:         
Hi Matthias, also nach viel probieren ist mir folgendes aufgefallen, das MSI fügt automatisch die Abhängigkeiten bei der Primärausgabe des Projektes ein. Dabei gelangen dann auch die interops in das Zielverzeichnis auf dem client. Wenn bei den SolidEdge interops auch die *.tlb Dateien dabei sind, verbiegt das MSI bei der Installation die Pfade dieser Dateien auf das Zielverzeichnis, also anstatt "C:\Programme\SolidEdge V15\..." dann "C:\Programme\Anwendungsname". Ganz merkwürdig. SE kann man dann neu installieren oder man kennt die Einträge in der Register. Die *.tlb von SE sind nicht notwendig im Verzeichnis erfolderlich. Wenn man die ausschließt im rechten Exlporer (Contextmenu), geht alles glatt. Zumindestens läuft es so einbandfrei, seit 2 Tagen. Jetzt muß ich wohl wieder an die V16 ran. Also besten Dank Gruß Andreas
------------------ Besten Dank Andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
modeng Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 7061 Registriert: 10.12.2003
|
erstellt am: 08. Mrz. 2005 18:15 <-- editieren / zitieren --> Unities abgeben:          Nur für progi
die .tlb muessen nicht dabei sein -- richtig. Nur wenn dann gab's schon im simplen VB packaging einen Step, in dem die Pfade festgelegt werden koennen (siehe Bild). Das muesste es doch auch in VB.NET (MSI) so aehnlich geben modeng Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
progi Mitglied Programmierer

 Beiträge: 74 Registriert: 18.08.2004 VB.net SE 16
|
erstellt am: 09. Mrz. 2005 06:21 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich kenne das VB6 MSI leider nicht. Das VB.NET MSI ist recht komfortabel gestaltet. Da kann man so wie im Explorer Verzeichnisse anlegen und dann dort quasi die benötigten Dateien ablegen. VS denkt dabei halt mit und legt alle abhängigen Dateien mit ab, z.B. interops und .tlb 's. Einige sind davon sind notwendig, wie z.B. die von der eigenen Entwicklung und andere halt nicht, z.B. die .tlb 's von SE. Wenn man die da drin läßt, bekommt man mit SE Probleme, so meine Vermutung. Gruß Andreas ------------------ Besten Dank Andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
modeng Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 7061 Registriert: 10.12.2003
|
erstellt am: 09. Mrz. 2005 09:11 <-- editieren / zitieren --> Unities abgeben:          Nur für progi
ich habe die .tlb nie mitgeliefert und wenn muss man noetigenfalls das Installskript anpassen (haendisch nacharbeiten). Die ist beim Package Wizard von VB6 jedenfalls der Fall wenn's um die SE Datein geht. Liefert man .tlb von z.B. V16 mit *und* sie werden im Zielsystem tatsaechlich installiert *und* das ist <> V16 oder V16 mit anderm Patchlevel sieht man ganz schoen alt aus .... modeng Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
progi Mitglied Programmierer

 Beiträge: 74 Registriert: 18.08.2004 VB.net SE 16
|
erstellt am: 09. Mrz. 2005 09:30 <-- editieren / zitieren --> Unities abgeben:         
Hi, alt ich auch schon so aus -). Aber besten Dank für den Tip mit der Version. Die interops sollten dann ja versionunabhängig sein? Na ja, hat jetzt eh nicht ganz reibungslos geklappt. Wenn man aus einer Draft Konstruktionslinien in ein Profil per clipboard kopiert wird in V16 daraus eine normal Linie, war in V15 nicht so. Es gibt so wenigstens immer was zu tun. Gruß Andreas ------------------ Besten Dank Andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |