| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| | |
 | CAD-Systemwechsel: Wann lohnt sich ein Umstieg und wie gelingt er?, ein Webinar am 28.07.2026
|
|
Autor
|
Thema: buttoncallbacks, events, ... ?! (1013 mal gelesen)
|
Bruggmann Mitglied Konstrukteur (& Nachdiplomstudium Software-Engineering)

 Beiträge: 85 Registriert: 17.03.2004 Workstation: Fujitsu Siemens P4 3.2GHz 2.0 GB RAM Win XP SP1 - SW2005 SP0.1 (PDM: Smarteam)<P>Laptop: Compaq Evo 800w P4 2GHz 500MB RAM WinXP SP2 - SW2005 SP0.1 (PDM: ec-Manager, eigenes Tool..)
|
erstellt am: 27. Okt. 2004 08:40 <-- editieren / zitieren --> Unities abgeben:         
hi all also ich bekomme das einfach nicht hin. per addIn-dll mit "iSldWorks.AddToolbarCommand2" kann man einen toolbar button etc hinzufügen, das klappt auch alles nach anfänglichen schwierigkeiten. aber WIE erkenne ich nun in einem parallel laufenden vb-programm dass dieser button gedrückt wird?! ich dachte erst dafür ist "ButtonCallback" da, aber das funktioniert irgendwie nur innerhalb der dll.. wollte es eigentlich in der art des EventMonitors angehen. bin ich da auf dem holzweg? ------------------ ---------- encom GmbH Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bruggmann Mitglied Konstrukteur (& Nachdiplomstudium Software-Engineering)

 Beiträge: 85 Registriert: 17.03.2004 Workstation: Fujitsu Siemens P4 3.2GHz 2.0 GB RAM Win XP SP1 - SW2005 SP0.1 (PDM: Smarteam)<P>Laptop: Compaq Evo 800w P4 2GHz 500MB RAM WinXP SP2 - SW2005 SP0.1 (PDM: ec-Manager, eigenes Tool..)
|
erstellt am: 28. Okt. 2004 07:52 <-- editieren / zitieren --> Unities abgeben:         
|
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)

 Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 28. Okt. 2004 08:38 <-- editieren / zitieren --> Unities abgeben:          Nur für Bruggmann
Hallo Bruggmann, > aber WIE erkenne ich nun in einem parallel laufenden vb-programm > dass dieser button gedrückt wird?! deswegen kann dir wahrscheinlich keiner helfen, das geht nicht ... die Antwort hast du dir doch selbst schon gegeben, der ButtonCallBack wird dann auf eine Funktion innerhalb der DLL gelegt. Theoretisch ist es denkbar, da ja sowohl die DLL als auch die EXE von dir sind, dass diese beiden Prozesse dann wieder miteinander in Kontakt treten, aber wie das funktioniert weiß ich nicht. Warum legst du deine Funktionen nicht in die DLL? Oder warum ist für ein externes Programm die Integration als Toolbar so wichtig? Um so zu arbeiten wie mit dem Eventmonitor müßte deine DLL ein entsprechendes Ereignis feuern, das du abfängst, aber SolidWorks gibt dir kein Event für die CallBacks von Add-Ins ... wäre ja auch noch schöner, wenn sich jemand anderes in meine CallBacks einklinken könnte und meine Funktionen versaut oder canceled  Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de KLAMM? Was ist KLAMM? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bruggmann Mitglied Konstrukteur (& Nachdiplomstudium Software-Engineering)

 Beiträge: 85 Registriert: 17.03.2004 Workstation: Fujitsu Siemens P4 3.2GHz 2.0 GB RAM Win XP SP1 - SW2005 SP0.1 (PDM: Smarteam)<P>Laptop: Compaq Evo 800w P4 2GHz 500MB RAM WinXP SP2 - SW2005 SP0.1 (PDM: ec-Manager, eigenes Tool..)
|
erstellt am: 28. Okt. 2004 09:08 <-- editieren / zitieren --> Unities abgeben:         
aber ist es irgendwie möglich eigene events abzufeuern?! die dll habe ich vorallem aus einem grund als add-in integriert, weil ich mal wo geleeh habe dass ich die toolbar nur über ein addin erstellen kann. nicht von ausserhalb. zusätzlich können SW-intensive prozesse dann in der dll ausgeführt werden und andere filesystem sachen etc von der exe aus. zumal da ein ganzes programm mit systray und allem dranhängt was auch laufen soll ohne SW.. :-/ irgendwie sehe ich schwarz. das alles mit senddata zu lösen st müll. sonnst hatte ich noch mit keinen pozess übergreiffenden datenübermittlungen zu tun.. ------------------ ---------- encom GmbH [edit] achja, warum die integration als toolbar wichtig ist. ist sie nicht elementar, da allem und noch mehr funktionen auch per rechtsklick auf das systray-icon erreichbar sind. aber die gebräuchlichsten wären mehr als schön per toolbar zu haben! udn die makroleiste möchte ich dem user eigentlich lassen. [/edit] [Diese Nachricht wurde von Bruggmann am 28. Okt. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PASCAM Mitglied Diplom Informatiker

 Beiträge: 67 Registriert: 25.11.2002
|
erstellt am: 28. Okt. 2004 09:49 <-- editieren / zitieren --> Unities abgeben:          Nur für Bruggmann
Hallo Bruggmann, Also, Stefan hat vollkommen recht: Das geht alles nur als Dll. Du hast folgende Chance: In deiner Dll bekommst Du ja das ConnectSW-Ereignis (Implementierung der SW-Schnittstelle). In diesem Ereignis erzeugst Du Dir ein Objekt deiner EXE mittels CreateObject oder New (die EXE muss dazu als EXE-Server uebersetzt sein!). In deinem ButtonCallback in der Dll rufst Du dann die entsprechende Methode deines EXE-Objektes auf. Dies ist eine gängige Methode, prozessübergreifend zu kommunizieren (geht übirgens auch über verschiedene Rechner, wenn es die Firewall zuläßt!) Ich hoffe, dass das trotz der Kürze verständlich war. Gruss, Ralph ------------------ PASCAM Ralph Müller Softwareentwicklung Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bruggmann Mitglied Konstrukteur (& Nachdiplomstudium Software-Engineering)

 Beiträge: 85 Registriert: 17.03.2004 Workstation: Fujitsu Siemens P4 3.2GHz 2.0 GB RAM Win XP SP1 - SW2005 SP0.1 (PDM: Smarteam)<P>Laptop: Compaq Evo 800w P4 2GHz 500MB RAM WinXP SP2 - SW2005 SP0.1 (PDM: ec-Manager, eigenes Tool..)
|
erstellt am: 28. Okt. 2004 10:27 <-- editieren / zitieren --> Unities abgeben:         
hey danke! sowas habe ich gesucht.. auch wenn es natürlich schöner gewesen wäre wenn man die exe als normale anwendung hätte seinlasse können. bin mir nicht sicher ob alles was schon besteht als activeX-exe noch einwandfrei funktioniert. :-/ ------------------ ---------- encom GmbH Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |