| | |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für EPLAN | | | |  | Erste Einblicke in die neue Eplan Plattform 2026, eine Pressemitteilung
|
|
Autor
|
Thema: Problem mit Script in eBuild (443 / mal gelesen)
|
arnepf Mitglied Konstrukteur & EPLAN Admin

 Beiträge: 19 Registriert: 29.11.2012 Dell Precision 3561<P>EPLAN Electric P8 V2.9 SP1 Update 10 EPLAN Electric P8 2024
|
erstellt am: 12. Mrz. 2025 09:09 <-- editieren / zitieren --> Unities abgeben:         
Guten Morgen  ich habe ein Problem mit einem Script in eBuild. Ich lese nach dem Erstellen eines Projektes mittels Script Projekteigenschaften ein. Code: ActionCallingContext acc1 = new ActionCallingContext(); CommandLineInterpreter cli = new CommandLineInterpreter();acc1.AddParameter("PropertyId", id.ToString()); acc1.AddParameter("PropertyIndex", "0"); acc1.AddParameter("PropertyValue", value); cli.Execute("XEsSetProjectPropertyAction", acc1);
Wenn eBuild das Script ausführt, werden die Projekteigenschaften nicht geändert, starte ich das Script mittels "Ausführen" funktioniert es ohne Probleme. Es gibt aber auch keine Fehlermeldungen oder so... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nairolf Ehrenmitglied V.I.P. h.c. Elektroingenieur
     
 Beiträge: 2000 Registriert: 21.01.2006 EPLAN Electric P8 2024.0.3 Update 1 (Build 21460) EPLAN Pro Panel Professional Addon EPLAN Fluid Addon
|
erstellt am: 12. Mrz. 2025 09:57 <-- editieren / zitieren --> Unities abgeben:          Nur für arnepf
Wenn von eBuild Scripte ausgeführt werden, so wird vom Generator das Projekt immer zuerst geschlossen (Default-Verhalten, kann derzeit nicht beeinflusst werden). Darum vermute ich, dass die Action einfach ins Leer läuft, weil das Projekt ja nicht mehr geöffnet ist. Evtl. hilft es ja schon, der Action den Parameter des Projektes einfach mitzugeben (eBuild-Scripte müssen ja mind. den ProjectName als Parameter besitzen): Ergänze testweise mal:
Code: acc1.AddParameter("PROJECTNAME", ProjectName);
Das klappt allerdings nur, wenn die Action selber den Parameter PROJECTNAME unterstützt (das tun nicht alle). Falls das nicht geht, dann muss man selber dafür sorgen, dass das Projekt zuvor geöfnet wird, in eBuild Free gibt es bspw. ein Beispielscript "eBUILD_SetProjectLanguage.cs", in welchem so ein "selber öffnen" exemplarisch drin wäre: Code:
//project has to get opened, to get set languages by script ActionCallingContext oACC_Open = new ActionCallingContext(); CommandLineInterpreter oCLI_Open = new CommandLineInterpreter(); oACC_Open.AddParameter("PROJECTNAME", ProjectFullName); if (globalInt_EPLANVersion >= 202200) { oACC_Open.AddParameter("IGNOREWHENOPEN", "1"); } oCLI_Open.Execute("edit", oACC_Open);... //do the language changes... CLI.Execute("SetProjectLanguage", ACC);
------------------ Der Fuchs ist schlau und stellt sich dumm. Bei vielen ist es andersrum  ------------------------------------------ Da lernt man mühevoll laufen und sprechen, und nun soll ich stillsitzen und die Klappe halten ! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| | Elektrokonstrukteur / Techniker EPLAN P8 für EZA-Regler (m|w|d) | - Über 350 Mitarbeitende bundesweit an verschiedenen Standorten
- Unsere Geschäftsfelder: Kommunalentwicklung, Gebäudeplanung und Architektur, E-Mobilität, Photovoltaik, Digitalisierung, Investition und Contracting
- Schwerpunkt der Gesellschaft energielenker solutions GmbH:
Energiemanagement-Software, KI-gestützte Steuerung von Energieerzeugungsanlagen, Lastmanagement, ... | | Anzeige ansehen | Feste Anstellung |
|
arnepf Mitglied Konstrukteur & EPLAN Admin

 Beiträge: 19 Registriert: 29.11.2012 Dell Precision 3561<P>EPLAN Electric P8 V2.9 SP1 Update 10 EPLAN Electric P8 2024
|
erstellt am: 12. Mrz. 2025 15:09 <-- editieren / zitieren --> Unities abgeben:         
Vielen Dank für den Tipp! Es stimmt, ich habe das Script vom Automatisiert bearbeiten genommen und ergänzt, aber da steht überall der Projektname als Parameter mit drin... Aber mit "edit" geht es nicht... außer ich hab da einen Fehler eingebaut Code: acc1.AddParameter("Project", ProjectName); acc1.AddParameter("Action", "XEsSetProjectPropertyAction"); acc1.AddParameter("PropertyIdentName", name); acc1.AddParameter("PropertyIndex", "0"); acc1.AddParameter("PropertyValue", value); cli.Execute("ProjectAction", acc1);
Aber mit ProjectAction geht es. Man darf nur das Projekt nicht offen lassen, sonst kommt ein Fehler Vielen lieben Dank für den Denkanstoß  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |