Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  API C# Property Manager Pages: Makro beendet sich sofort nach Initialisierung

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
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


Sehen Sie sich das Profil von 13 an!   Senden Sie eine Private Message an 13  Schreiben Sie einen Gästebucheintrag für 13

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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...



Sehen Sie sich das Profil von KMassler an!   Senden Sie eine Private Message an KMassler  Schreiben Sie einen Gästebucheintrag für KMassler

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für 13 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von 13 an!   Senden Sie eine Private Message an 13  Schreiben Sie einen Gästebucheintrag für 13

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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 ansehenMaschinenbau
KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



Sehen Sie sich das Profil von KMassler an!   Senden Sie eine Private Message an KMassler  Schreiben Sie einen Gästebucheintrag für KMassler

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für 13 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von 13:
Hallo Klaus,

ebenso ein frohes Neues!

Sorry, hatte die System Info ausversehen in die Signatur gepackt...

...


Stimmt, hab ich doch glatt übersehen^^
Aber wie gesagt, mit C# kann ich dir nicht wirklich helfen.

------------------
Klaus

http://www.al-ko.com/de/fahrzeugtechnik/ | mein Gästebuch

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz