| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| On-Demand-Webinare zu SOLIDWORKS (SOLIDWORKS) |
Autor
|
Thema: API C# Property Manager Pages: Makro beendet sich sofort nach Initialisierung (883 mal gelesen)
|
13 Mitglied
Beiträge: 5 Registriert: 29.12.2016 Windows 7 Enterprise 64bit SP 1 Solidworks 2016 SP5 Visual Basics Express 2015 .NET 4.6
|
erstellt am: 29. Dez. 2016 13:13 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich bin gerade dabei eine Property Manager Page für Solidworks 2016 mit C# zu erstellen. Ich arbeite mit Visual Studio Express 2015 auf einem Windows 7 Enterprise 64bit System. Wenn ich das Makro aus VS heraus starte, wird die Property Manager Page korrekt initialisiert, allerdings beeendet sich das Makro danach sofort. Wenn ich die Property Manager Page schließe (über den OK oder Abbrechen Button), dann friert Solidworks ein und muss über den Task Manager beendet werden. Weiß jemand was zu tun ist, damit das Makro nach Initialisierung der Property Manager Page "am Leben" bleibt und Benutzereingaben abgefangen und bearbeitet werden können? Danke im voraus für Eure Antworten! Gruß Chris ------------------ Windows 7 Enterprise 64bit SP 1 Solidworks 2016 SP5 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 02. Jan. 2017 08:16 <-- editieren / zitieren --> Unities abgeben: Nur für 13
Ahoi 13, ein Gutes Neues Jahr erst mal Ich kenne mich mit C# nicht aus, aber generell würde ich sagen, dass die Beantwortung ohne deinen Code reichlich schwierig wird. BTW: Bei einem C#-Programm aus VS würde ich auch nicht mehr von einem Makro sprechen, das sind dann schon "richtige" Programme, oder in deinem Fall Addons (oder Addins, Geschmackssache). Und eine ausgefüllte Systeminfo wirkt manchmal Wunder, wenn es darum geht, die anderen zum Mitdenken zu bewegen ------------------ Klaus http://www.al-ko.com/de/fahrzeugtechnik/ | mein Gästebuch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
13 Mitglied
Beiträge: 5 Registriert: 29.12.2016 Windows 7 Enterprise 64bit SP 1 Solidworks 2016 SP5 Visual Basics Express 2015 .NET 4.6
|
erstellt am: 02. Jan. 2017 08:33 <-- editieren / zitieren --> Unities abgeben:
Hallo Klaus, ebenso ein frohes Neues! Sorry, hatte die System Info ausversehen in die Signatur gepackt... Hier ist ein funktionierendes Minimalbeispiel, dass den Fehler produziert: main class: Code: namespace PMPmacro { static class Program { [STAThread] static void Main() { Debug.Print(" :: Connect to SldWorks"); try { swApp = (SldWorks.SldWorks)Marshal.GetActiveObject("SldWorks.Application"); } catch { MessageBox.Show(" ERROR connecting to SldWorks "); return; } PMP myPMP = new PMP(); myPMP.Start(swApp); } } }
PMP class: Code: namespace PMPmacro { class PMP : PropertyManagerPage2Handler9 { PropertyManagerPage2 pmPage; public void Start(SldWorks.SldWorks swApp) { int pageoptions = (int)(swPropertyManagerPageOptions_e.swPropertyManagerOptions_OkayButton | swPropertyManagerPageOptions_e.swPropertyManagerOptions_LockedPage); int iErrors = 0; pmPage = (PropertyManagerPage2)swApp.CreatePropertyManagerPage("TJSL Parametrisierung", pageoptions, null, ref iErrors); if (iErrors != (int)swPropertyManagerPageStatus_e.swPropertyManagerPage_Okay) { MessageBox.Show("Failed to create page: " + ((swPropertyManagerPageStatus_e)iErrors).ToString()); return; } pmPage.SetMessage3("Welcome to my first PMP", (int)swPropertyManagerPageMessageVisibility.swImportantMessageBox, (int)swPropertyManagerPageMessageExpanded.swMessageBoxMaintainExpandState, "My Caption"); pmPage.Show(); } // generated code with functions to implement interface
Wie gesagt, das Programm beendet sich sofort nach dem die Property Manager Page erstellt wurde und Events können nicht bearbeitet werden. Als VBA Macro oder C# AddIn funktioniert der Code übrigens, nur nicht als Standalone... Danke im voraus für Tipps und Hilfen! Gruß Chris [Diese Nachricht wurde von 13 am 02. Jan. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Ingenieur (m/w/d) Maschinenbau Entwicklung / Konstruktion | Leidenschaft für technologischen Fortschritt ausleben? Dabei sein, wenn Innovationen Wirklichkeit werden? Bei FERCHAU suchen wir Menschen mit dem gleichen Anspruch. Wir realisieren spannende Projekte für namhafte regionale Unternehmen in allen Technologien und für alle Branchen und übernehmen Verantwortung für komplexe Entwicklungsprojekte.
Ingenieur (m/w/d) Maschinenbau Entwicklung / Konstruktion
| Anzeige ansehen | Maschinenbau |
|
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 03. Jan. 2017 09:35 <-- editieren / zitieren --> Unities abgeben: Nur für 13
|