| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für EPLAN |
Autor
|
Thema: Frage zum Scripting: ProjectOpen -> Wie warten, bis Project komplett geöffnet? (900 / mal gelesen)
|
Ponos Mitglied
Beiträge: 5 Registriert: 06.07.2016
|
erstellt am: 20. Aug. 2021 11:00 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute, Ich mache in einem Script eine gewisse Projektdatei auf. Das funktioniert soweit. ABER: Es werden dann auch gleich alle Aktionen nach dem Öffnen ausgeführt, ohne zu warten, bis das Öffnen fertig ist :-/ Wie kann ich das unterbinden? Der Code ist: Code:
string strProjectName = "X:/TEMP/tempus/1818181.elk"; bool bResult = true; //https://www.eplan.help/en-US/infoportal/content/api/2.8/ProjectOpen%20.html Progress ProjectOpenProgress = new Progress("SimpleProgress"); ProjectOpenProgress.BeginPart(33, "Open Project"); ProjectOpenProgress.SetAllowCancel(false); ActionCallingContext ProjectOpen = new ActionCallingContext (); ProjectOpen.AddParameter("Project ",strProjectName); ProjectOpen.AddParameter("OpenMode","STANDARD"); bResult &= new CommandLineInterpreter().Execute("ProjectOpen",ProjectOpen); ProjectOpenProgress.EndPart(); ProjectOpenProgress.EndPart(true); if(!bResult) { MessageBox.Show("Error in action: ProjectOpen"); return; }
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
F.S. Moderator
Beiträge: 1815 Registriert: 23.04.2003 EPLAN Electric P8 2023 Prof.
|
erstellt am: 20. Aug. 2021 13:57 <-- editieren / zitieren --> Unities abgeben: Nur für Ponos
Hallo, kann ich jetzt nicht bestätigen, ich habe mir aber mal deinen Code angeschaut und ihn ausprobiert, funktioniert hier, aber ich habe dann doch zwei Zeilen geändert. -Zeile "bool bResult = true;" entfernt -Zeile "bResult &= new CommandLineInterpreter().Execute("ProjectOpen",ProjectOpen);" geändert in "bool bResult = new CommandLineInterpreter().Execute("ProjectOpen", ProjectOpen);" außerdem noch eine paar MessageBoxen dazu um den genauen Ablauf anzeigen zu lassen. Probier doch mal diesen Code aus:
Code:
string strProjectName = @"L:\E_CAD\EPLAN\Data\Projekte\Eplan\ESS_Sample_Project.elk"; //https://www.eplan.help/en-US/infoportal/content/api/2.8/ProjectOpen%20.html Progress ProjectOpenProgress = new Progress("SimpleProgress"); ProjectOpenProgress.BeginPart(33, "Open Project"); ProjectOpenProgress.SetAllowCancel(false);
ActionCallingContext ProjectOpen = new ActionCallingContext(); ProjectOpen.AddParameter("Project ", strProjectName); ProjectOpen.AddParameter("OpenMode", "STANDARD"); bool bResult = new CommandLineInterpreter().Execute("ProjectOpen", ProjectOpen); ProjectOpenProgress.EndPart(); ProjectOpenProgress.EndPart(true); if (bResult) { MessageBox.Show("Fertig action: ProjectOpen"); } else if (!bResult) { MessageBox.Show("Error in action: ProjectOpen"); return; } MessageBox.Show("Weiter nach action: ProjectOpen");
------------------ grüße FrankS Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ponos Mitglied
Beiträge: 5 Registriert: 06.07.2016
|
erstellt am: 23. Aug. 2021 08:06 <-- editieren / zitieren --> Unities abgeben:
Danke für das Feedback. Aaaaber: Das öffnen eines Projektes funktioniert ohne Probleme. Das Problem ist, das nach dem öffnen via Script noch andere Aktionen durchgeführt werden. Es scheint aber so, dass das Projekt noch nicht ganz geöffnet ist, die nächste Aktion aber schon bearbeitet wird. (Auswertungen aktualisieren, ...) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RednaxelW Mitglied
Beiträge: 24 Registriert: 25.07.2019 V2.7 HF5
|
erstellt am: 20. Mai. 2023 17:01 <-- editieren / zitieren --> Unities abgeben: Nur für Ponos
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|