Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  EPLAN Electric P8
  Arbeiten mit Eplan.EplApi.OnPostOpenProject

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:  Arbeiten mit Eplan.EplApi.OnPostOpenProject (991 mal gelesen)
ASSE
Mitglied



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

Beiträge: 92
Registriert: 12.01.2005

EPLAN Electric P8 2023 Update 4

erstellt am: 19. Mrz. 2019 16:55    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!

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



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

Beiträge: 1815
Registriert: 23.04.2003

EPLAN Electric P8
2023 Prof.

erstellt am: 20. Mrz. 2019 07:29    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 ASSE 10 Unities + Antwort hilfreich

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



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

Beiträge: 92
Registriert: 12.01.2005

EPLAN Electric P8 2023 Update 4

erstellt am: 20. Mrz. 2019 08:43    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,

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



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

Beiträge: 1815
Registriert: 23.04.2003

EPLAN Electric P8
2023 Prof.

erstellt am: 20. Mrz. 2019 09:29    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 ASSE 10 Unities + Antwort hilfreich

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

ASSE
Mitglied



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

Beiträge: 92
Registriert: 12.01.2005

EPLAN Electric P8 2023 Update 4

erstellt am: 20. Mrz. 2019 10:23    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

Da kann ich nur sagen: 1A
Damit klappt die Abfrage.


Danke!

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