Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  EPLAN Electric P8
  P8-API -> Symbolleiste

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 EPLAN
Autor Thema:  P8-API -> Symbolleiste (2716 mal gelesen)
cs4008
Mitglied


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

Beiträge: 3
Registriert: 23.10.2010

erstellt am: 23. Okt. 2010 10:41    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 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.ApplicationFramework

Class 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


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

Beiträge: 786
Registriert: 08.12.2008

EPLAN Electric P8
... in allen Versionen/Varianten

erstellt am: 25. Okt. 2010 10:22    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 cs4008 10 Unities + Antwort hilfreich

Warum so kompliziert 
Code:

Class MyEventListener
    <DeclareEventHandler("Eplan.EplApi.OnMainStart")> _
    Public Sub test
        MessageBox.Show("abgefangen :)")
    End Sub
End Class

------------------
Suplanus.de - Scripting in Eplan ist einfach (toll)

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

cs4008
Mitglied


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

Beiträge: 3
Registriert: 23.10.2010

erstellt am: 25. Okt. 2010 12: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

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


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

Beiträge: 786
Registriert: 08.12.2008

EPLAN Electric P8
... in allen Versionen/Varianten

erstellt am: 25. Okt. 2010 17:52    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 cs4008 10 Unities + Antwort hilfreich

hab noch keine Api-Lizenz drum kann ich da nicht viel sagen...
Aber wenn du meinen Code als Script lädst bekommst du die MessageBox...
Gruß
Johann

------------------
Suplanus.de - Scripting in Eplan ist einfach (toll)

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

FML
Mitglied



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

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 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 cs4008 10 Unities + Antwort hilfreich

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


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

Beiträge: 3
Registriert: 23.10.2010

erstellt am: 27. Okt. 2010 21:59    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

Genau das war es.
Im mir vorliegenden Beispiel arbeiten sie noch ohne "System.Delegate.Combine". Nun, mit Combine, funktioniert es wie gewünscht. Danke für die Hilfe.

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)2023 CAD.de | Impressum | Datenschutz