| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für EPLAN |
Autor
|
Thema: P8-API -> Symbolleiste (2716 mal gelesen)
|
cs4008 Mitglied
Beiträge: 3 Registriert: 23.10.2010
|
erstellt am: 23. Okt. 2010 10:41 <-- editieren / zitieren --> Unities abgeben:
Hallo an alle Ich habe eine Frage bzgl. der P8 API. Und zwar möchte ich beim Programmstart eine eigene Symbolleiste erzeugen. Nun habe ich aber ein Problem mit dem "Fangen" des "onMainStart" Ereignisses. Der Code in der API-Hilfe erzeugt bei mir einen Fehler: Zitat: EplanEvent" ist kein Ereignis von Eplan.EplApi.ApplicationFramework.EventHandler"
Der dazugehörige Code lautet:
Code:
Imports System Imports Eplan.EplApi.ApplicationFrameworkClass MyEventListener Public Sub New() ' create an EventHandler object Dim myHandler As New Eplan.EplApi.ApplicationFramework.EventHandler() ' react on the EPLAN event myHandler.SetEvent("onMainStart") ' If the event is raised, ' the function myHandler_EplanEvent should be called AddHandler myHandler.EplanEvent, AddressOf myHandler_EplanEvent '<- hier entsteht der Buildfehler End Sub 'New Private Sub myHandler_EplanEvent(ByVal iEventParameter As IEventParameter) ' TODO: do something, when the event is caught End Sub 'myHandler_EplanEvent End Class 'MyEventListener
Der Beispielcode in C# funktioniert korrekt. Vielleicht hat von euch jemand eine Lösung auf dieses Problem oder ein entsprechendes Snippet in VB. Wäre mir sehr geholfen. Liebe Grüße CS4008 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jonny Wire Mitglied Script-Troll
Beiträge: 786 Registriert: 08.12.2008 EPLAN Electric P8 ... in allen Versionen/Varianten
|
erstellt am: 25. Okt. 2010 10:22 <-- editieren / zitieren --> Unities abgeben: Nur für cs4008
|
cs4008 Mitglied
Beiträge: 3 Registriert: 23.10.2010
|
erstellt am: 25. Okt. 2010 12:16 <-- editieren / zitieren --> Unities abgeben:
Danke für deinen Vorschlag. Allerdings hatte ich diese Variante auch schon probiert, und bin zu keinem Ergebniss gekommen. Egal auf welche Weise ich EPlan starte, ich komme nicht an das Ereignis. "Deshalb dann so kompliziert". Irgendwie kommt es mir dabei komisch vor, dass man ein Attribut aus der "EplApi.Scripting" verwenden muss, wenn man ein AddIn erstellen möchte. Ich hatte angenommen, diese Bibliothek wäre vorrangig für das "Scripting" vorgesehen. Liebe Grüße Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jonny Wire Mitglied Script-Troll
Beiträge: 786 Registriert: 08.12.2008 EPLAN Electric P8 ... in allen Versionen/Varianten
|
erstellt am: 25. Okt. 2010 17:52 <-- editieren / zitieren --> Unities abgeben: Nur für cs4008
|
FML Mitglied
Beiträge: 491 Registriert: 11.03.2002 Aktuell: EPLAN Electric P8 Professional V 2.6 HF2 V 2.7 V 2.7 Education<P>Eplan Fluid Add On Eplan ProPanel Add On Electric P8 API EEC Systeme: MS WINDOWS 10 MS WINDOWS 7 MS WINDOWS 2016 Server MS WINDOWS SQL Server
|
erstellt am: 25. Okt. 2010 20:46 <-- editieren / zitieren --> Unities abgeben: Nur für cs4008
Hallo, Zitat: Irgendwie kommt es mir dabei komisch vor, dass man ein Attribut aus der "EplApi.Scripting" verwenden muss, wenn man ein AddIn erstellen möchte. Ich hatte angenommen, diese Bibliothek wäre vorrangig für das "Scripting" vorgesehen.
Verstehe ich nicht. Hast Du mal das komplette Bsp. aus der Hilfe für einen Eventhandler versucht? Den Event im Bsp. kannst Du ja entsprechend ändern. Code:
Class MyEventListener ' create an EventHandler object Dim myHandler As New Eplan.EplApi.ApplicationFramework.EventHandler() Public Sub New() ' react on the EPLAN event "onActionStart.String.*" myHandler.SetEvent("onActionStart.String.*") ' If the event "onActionStart.String.*" is raised, ' the function myHandler_EplanEvent should be called Dim oEvent As EventHandlerFunction = New EventHandlerFunction(AddressOf myHandler_EplanEvent) myHandler.EplanEvent = System.Delegate.Combine(myHandler.EplanEvent, oEvent) End Sub 'New Private Sub myHandler_EplanEvent(iEventParameter As IEventParameter) ' TODO: do something, when the event is caught End Sub 'myHandler_EplanEvent End Class 'MyEventListener
und Code:
Public Class AddInModule Implements IEplAddIn Private m_EventHandler As MyEventListener '''<summary> ''' This function is called, when starting EPLAN, ''' if the add-in is loaded on system startup. '''</summary> ''' <returns></returns> '''<seealso cref="OnRegister"/> Public Function OnInit() As Boolean Implements IEplAddIn.OnInit m_EventHandler = New MyEventListener() Return True End Function 'OnInit
'... End Class 'AddInModule
Gruß Fritz------------------ Um zu sehen, musst Du die Augen offen halten. Um zu erkennen, musst Du sie schliessen und denken. [Diese Nachricht wurde von FML am 25. Okt. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cs4008 Mitglied
Beiträge: 3 Registriert: 23.10.2010
|
erstellt am: 27. Okt. 2010 21:59 <-- editieren / zitieren --> Unities abgeben:
|