EPLAN

Projekt ermitteln bei Event OnPostOpenProject

Ich habe in einem Script verschiedene Eventhandler die was im Projektordner (DOC) machen…
Klappt auch alles wunderbar… bis auf das Event vom Projekt öffnen. Ist mehr als ein Projekt geöffnet stimmt die Pfadvariable nicht:

var docFolder = PathMap.SubstitutePath("$(DOC)");

 

Durch den (immer tollen) EPLAN API Support habe ich folgende Lösung:

[DeclareEventHandler("Eplan.EplApi.OnPostOpenProject")] // project open
public void EventProjectOpen(IEventParameter iEventParameter)
{
   EventParameterString eventParameterString = new EventParameterString(iEventParameter);
   string projectFile = eventParameterString.String;

   FileInfo fileInfo = new FileInfo(projectFile);
   string projectDirectory = projectFile.Replace(fileInfo.Extension, ".edb");
   var docFolder = Path.Combine(projectDirectory, "DOC");
}
Von |2017-11-09T11:22:14+01:002016-07-27|EPLAN, EPLAN-Scripts|

Debugging mit DebugView

Ich hatte ja schon erklärt wie man Scripte schön Debuggen kann…
Zusätzlich nutze ich aber auch gerne DebugView um “schnell mal zu schauen”. Ist besser als mit Messageboxen zu arbeiten.

Einfach im Code z.B. schreiben:

Debug.WriteLine(logFile);

Und die Ausgabe sieht dann wie folgt aus:

DebugView

Es muss nichts eingestellt werden.

Von |2017-11-09T11:22:14+01:002016-07-26|EPLAN, EPLAN-Scripts|

7-Zip Sicherheitslücke

Ich persönlich nutze unter Windows ausschließlich 7-Zip für die ganze “Packerei”.
EPLAN nutzt das auch für z.B. die Projektsicherung (ZW1 ist auch ein Zip-Container).

Aus diesem Grund betrifft die Sicherheitslücke auch die EPLAN Software.
Nach Rücksprache mit EPLAN gibt es kein Update mehr für aktuelle Versionen, was ich sehr schade finde. Erst zur Version 2.6 wird die DLL ersetzt und somit die Sicherheitslücke geschlossen.

Man könnte die DLL manuell ersetzen, habe ich nicht getestet. Es ist auch nicht sichergestellt ob EPLAN dann noch korrekt funktioniert.

Von |2016-07-25T07:59:32+02:002016-07-25|EPLAN, EPLAN-Bugs|

VersionSelector

Ich habe ja oft von meiner Todo-Liste erzählt… diese hat Einträge, welche mehrere Jahre alt sind…

Wie auch hier:

EPLAN: Versionsauswahl für Projektdateien

Der Eintrag ist von 2013, Grund dafür ist ein altes Programm was ich mal geschrieben habe.

Wollte immer eine schöne UI darum packen und alles soweit wie möglich automatisieren. Denke es ist mir auch gelungen. Mit VersionSelector kann man EPLAN Projektdateien (*.elk, *elr, usw.) einfach per Doppelklick öffnen.

VersionSelector sucht dann automatisch die richtige Version. Ist z.B. Electric P8 schon gestartet, wird das Projekt darin geöffnet.

VersionSelector-Installiert

Ziemlich aufwendig war die Implementierung von dem automatischen Entpacken von ZW1-Dateien. Aber auch hier, einfach Doppelklick, Projekt wird entpackt und in EPLAN geöffnet. Das gilt auch für EPLAN View!

Ich habe gleich eine Befehlszeile mit eingerichtet, damit man von anderen Applikationen VersionSelector starten kann.

ShopForProcess: VersionSelector

Von |2016-06-15T13:49:31+02:002016-06-15|EPLAN, ShopForProcess|

IEplAddInShadowCopy

EPLAN hat zur 2.6 das Verhalten geändert bzgl. Laden von DLLs.
Es wird eine Schattenkopie auf dem lokalen Client erstellt. Das hat verschiedene Vorteile (wie .NET Sicherheitsrichtlinien usw.) aber eben auch Nachteile.

Einer davon ist dass man per Reflection nicht an den Speicherort im Netzwerk kommt.

Dafür hat EPLAN zur Version 2.6 Beta 3 das Interface IEplAddInShadowCopy bereitgestellt. Hier wird der original Pfad übergeben und man kann diesen weiterverarbeiten.

void IEplAddInShadowCopy.OnBeforeInit(string originalAssemblyPath)
{
   // Do something with the original path
}

Finde schön zu sehen dass schnell auf die Bedürfnisse der User reagiert wird!

Von |2016-06-02T07:30:04+02:002016-06-02|EPLAN, EPLAN-API|
Nach oben