| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für EPLAN |
| | |
 | Per Standards, Vernetzung und digitalem Zwilling die Energiewende gestalten, eine Pressemitteilung
|
|
Autor
|
Thema: Arbeiten mit Eplan.EplApi.OnPostOpenProject (1269 / mal gelesen)
|
ASSE Mitglied

 Beiträge: 99 Registriert: 12.01.2005 EPLAN Electric P8 2023 Update 4
|
erstellt am: 19. Mrz. 2019 16:55 <-- editieren / zitieren --> Unities abgeben:         
Hallo! Ich möchte im Scripting den Eplan.EplApi.OnPostOpenProject verwenden. In diesem darin enthaltenen Code möchte ich etwas mit dem vom neu geöffnetem Projekt verwendeten $(PROJECTPATH) anstellen. Allerdings wird mir diese Variable immer von dem zuvor markiertem Projekt angezeigt. Wie kann man das umgehen. Beispiel: Projekt A ist geöffnet Ich öffne nun Projekt B. Das Script startet aber meldet den Pfad von Projekt A (vermutlich weil im Seitennavi markiert)
Gruß Florian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
F.S. Moderator
    
 Beiträge: 1955 Registriert: 23.04.2003 EPLAN Electric P8 2025 Prof.
|
erstellt am: 20. Mrz. 2019 07:29 <-- editieren / zitieren --> Unities abgeben:          Nur für ASSE
Hallo, es wird von EPLAN empfohlen das aktuelle Projekt über "selectionset" zu ermitteln. Probier doch mal aus ob es mit folgendem Code im Event besser funktioniert:
Code:
ActionCallingContext acc = new ActionCallingContext(); CommandLineInterpreter oCLI = new CommandLineInterpreter();//Aktuelles Projekt ermitteln string sProjekt = string.Empty; acc.AddParameter("TYPE", "PROJECT"); oCLI.Execute("selectionset", acc); acc.GetParameter("PROJECT", ref sProjekt);
------------------ grüße FrankS Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ASSE Mitglied

 Beiträge: 99 Registriert: 12.01.2005 EPLAN Electric P8 2023 Update 4
|
erstellt am: 20. Mrz. 2019 08:43 <-- editieren / zitieren --> Unities abgeben:         
Hallo, hmm leider gleiches Verhalten. Es wird das vorher markierte Projekt gesetzt (klar, wenn kei Projekt geöffnet ist wird die richtige Variable gesetzt)
Code:
[DeclareEventHandler("Eplan.EplApi.OnPostOpenProject")] public void FunctionOptions() { ActionCallingContext acc = new ActionCallingContext(); CommandLineInterpreter oCLI = new CommandLineInterpreter(); //Aktuelles Projekt ermitteln string sProjekt = string.Empty; acc.AddParameter("TYPE", "PROJECT"); oCLI.Execute("selectionset", acc); acc.GetParameter("PROJECT", ref sProjekt); MessageBox.Show(sProjekt); }
Gruß Florian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
F.S. Moderator
    
 Beiträge: 1955 Registriert: 23.04.2003 EPLAN Electric P8 2025 Prof.
|
erstellt am: 20. Mrz. 2019 09:29 <-- editieren / zitieren --> Unities abgeben:          Nur für ASSE
Ok, dann geht es wohl doch nur so: Code:
[DeclareEventHandler("Eplan.EplApi.OnPostOpenProject")] public void MyEventHandlerFunction(IEventParameter iEventParameter) { try { EventParameterString oEventParameterString = new EventParameterString(iEventParameter); new Decider().Decide(EnumDecisionType.eOkDecision, "Projekt [" + oEventParameterString.String + "] wurde geöffnet!", "OnPostOpenProject", EnumDecisionReturn.eOK, EnumDecisionReturn.eOK, string.Empty, false, EnumDecisionIcon.eINFORMATION); } catch (System.InvalidCastException exc) { new Decider().Decide(EnumDecisionType.eOkDecision, exc.Message, "OnPostOpenProject, Fehler", EnumDecisionReturn.eOK, EnumDecisionReturn.eOK, string.Empty, false, EnumDecisionIcon.eFATALERROR); } }
------------------ grüße FrankS [Diese Nachricht wurde von F.S. am 20. Mrz. 2019 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| | Senior Elektrokonstrukteur/in (m/w/d) | Die DDT GmbH bietet umfassende Dienstleistungen im Bereich der Elektrokonstruktion an. Unser Angebot umfasst vor Ort Engineering, projektbezogene Unterstützung sowie maßgeschneiderte Softwareimplementierung und kompetenzbasierte Beratung im Bereich der Elektrokonstruktionsmöglichkeiten für die Industrie 4.0. Darüber hinaus legen wir großen Wert auf zentrale Kundenlösungen zur Steigerung der Produktivität und bieten speziell abgestimmte Beratungen, Schulungen sowie gezielte Unterstützung an.... | | Anzeige ansehen | Feste Anstellung |
|
ASSE Mitglied

 Beiträge: 99 Registriert: 12.01.2005 EPLAN Electric P8 2023 Update 4
|
erstellt am: 20. Mrz. 2019 10:23 <-- editieren / zitieren --> Unities abgeben:         
|