| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| | |
 | Der größte Rechenreiniger der Welt bei MUHR , ein Anwenderbericht
|
|
Autor
|
Thema: (API) Benutzereingaben sperren (1924 mal gelesen)
|
gegy3 Mitglied
 
 Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2012 SP 5.0
|
erstellt am: 06. Dez. 2008 00:32 <-- editieren / zitieren --> Unities abgeben:         
Hallo, kann mir jemand sagen, wie ich beim ausführen von vb code verhindern kann, dass der Benutzer im solidworks Model rumklickt und eventuell was makiert, was den Programmablauf stört? UserControl scheint das ja nicht zu tun. Danke! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Matthias Mitglied Programmierer

 Beiträge: 43 Registriert: 06.07.2000
|
erstellt am: 07. Dez. 2008 12:31 <-- editieren / zitieren --> Unities abgeben:          Nur für gegy3
Hallo gegy3, doch, musst Du die UserControl auf false setzen, das sollte eigentlich reichen. Nur nicht vergessen, das ganze wieder auf true zu setzen, bevor das Programm beendet ist. Schau mal in die API Hilfe da ist das alles beschrieben. Gruß Matthias ------------------ Matthias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tbd Mitglied Teamleiter
  
 Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600 ----- Win XP Prof SP 3 SW 2008 SP 5.0 PARTsolutions 8.1.08 Cideon SAP PLM 5.103.5.17 Visual Studio 2008
|
erstellt am: 08. Dez. 2008 08:09 <-- editieren / zitieren --> Unities abgeben:          Nur für gegy3
Guten Morgen, ganz sicher kannst du gehen, indem du das gesammte SolidWorks Fenster einfach ausschaltest. Wie das geht zeigt dieser Snippet. Wenn du nur dein Dokument vor Eingaben schützen möchtest und dem Anwender evtl. einige Aktionen erlauben möchtest, solltest du dir die Methoden ModelDoc2.SetBlockingState und ModelDoc2.GetBlockingState in der API Hilfe mal anschauen. ------------------ Mfg Daniel www.MySldWorks.de - SolidWorks Api Snippets Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Baumjäger Mitglied CAD/PDM Administrator
 
 Beiträge: 339 Registriert: 21.06.2006 SW2017 - S5.0 AutoCAD Mechanical 2018 Win10 Intel Xeon E3-1240 V2 3,4GHz 16GB RAM NVIDIA Quadro 4000
|
erstellt am: 08. Dez. 2008 11:14 <-- editieren / zitieren --> Unities abgeben:          Nur für gegy3
|
gegy3 Mitglied
 
 Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2012 SP 5.0
|
erstellt am: 09. Dez. 2008 10:00 <-- editieren / zitieren --> Unities abgeben:         
Wow, danke für die vielen Antworten: @Matthias Mit UserConrol = False ändert sich leider an der ganzen Sache nichts. Habs einigemale versucht, der benutzer kann noch immer voll auf SldWorks eingreifen. @tbd Zu ModelDoc2.SetBlockingState Das klingt gut, hilf aber glaube ich nicht eine selektion durch den User zu blockieren. Laut hilfe blockiert das nur die Menüs. Deine andere Variante muss ich noch testen.  @Baumjäger Das klingt auch super! Vielen Dank für eure Hilfen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gegy3 Mitglied
 
 Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2012 SP 5.0
|
erstellt am: 09. Dez. 2008 10:32 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Original erstellt von Baumjäger: oder einfach während das makro läuft ein Fenster mit Option modal = true einblenden. Da kannst du dann sogar noch so ein hübsches "bidde warten" oder so draufschreiben.
Das funktioniert leider nicht, weil er in dem modalen Fenster stehen bleibt aber die folgenden Aktionen im Programm nicht ausführt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gegy3 Mitglied
 
 Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2012 SP 5.0
|
erstellt am: 09. Dez. 2008 17:34 <-- editieren / zitieren --> Unities abgeben:         
|
Baumjäger Mitglied CAD/PDM Administrator
 
 Beiträge: 339 Registriert: 21.06.2006 SW2017 - S5.0 AutoCAD Mechanical 2018 Win10 Intel Xeon E3-1240 V2 3,4GHz 16GB RAM NVIDIA Quadro 4000
|
erstellt am: 10. Dez. 2008 13:07 <-- editieren / zitieren --> Unities abgeben:          Nur für gegy3
|

| |
krisztian Mitglied
 Beiträge: 4 Registriert: 06.08.2009
|
erstellt am: 07. Mai. 2010 17:12 <-- editieren / zitieren --> Unities abgeben:          Nur für gegy3
Hallo, hab das selbe Problem derzeit. Ich würde gern UserControl=False verwenden aber es ändert sich einfach nichts. Seltsamerweise habe ich vor nem halben Jahr mit SolidWorks schon mal programmiert und es lief wunderbar. Code sieht so aus:
Code: swApp = CType(CreateObject("SldWorks.Application"), SldWorks.SldWorks) swApp.Visible = True swApp.UserControl = False
System ist W7 mit Visual Basic Express und SW 2009/10 StudentDesignKit. Damals hatte ich eine Vollversion von SolidWorks aber daran sollte es ja wirklich nicht liegen, dass der Befehl nciht funktioniert oder? Grüße krisztian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |