Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  EPLAN Electric P8
  Fehler in Script erkennen

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
  
Eplan präsentiert in Hannover erste Einblicke in erweiterte Service-App , eine Pressemitteilung
Autor Thema:  Fehler in Script erkennen (183 / mal gelesen)
aban
Mitglied
Elektro-Konstrukteur


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

Beiträge: 19
Registriert: 13.07.2017

- Windows 11-x64
- Electric P8 Prof. 2.9 SP1 Upd.13
- Electric P8 Prof. 2023 Upd.7

erstellt am: 22. Apr. 2025 16:19    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 allerseits,

ich gebe in EPLAN P8 mit Hilfe eines Scripts das aktuelle Projekt als PDF aus.
Hier ein Script-Auszug:

Code:
Progress oProgress2 = new Progress("SimpleProgress");
oProgress2.SetAllowCancel(true);
oProgress2.SetAskOnCancel(true);
oProgress2.BeginPart(100, "");
oProgress2.SetTitle("PDF-Datei wird erstellt ... ");
oProgress2.ShowImmediately();

if (!oProgress2.Canceled())
{
CommandLineInterpreter oCLI = new CommandLineInterpreter();
ActionCallingContext acc = new ActionCallingContext();

acc.AddParameter("TYPE", "PDFPROJECTSCHEME");
//acc.AddParameter("EXPORTSCHEME", "Standard");
acc.AddParameter("PROJECTNAME", strFullProjectname); //Vorgabewert: Projektname. Nur gültig, wenn EXPORTSCHEME nicht verwendet wird!
acc.AddParameter("USEZOOMLEVEL", "0"); //Springen in Navigationsseiten
acc.AddParameter("LANGUAGE", strSprache);
acc.AddParameter("ZOOMLEVEL", "200"); //wenn USEZOOMLEVEL auf 1 dann hier Zoomstufe in mm
acc.AddParameter("USESIMPLELINK", "1"); //1 = einfache Sprungfunktion
acc.AddParameter("FASTWEBVIEW", "1"); //1 = schnelle Web-Anzeige
acc.AddParameter("READONLYEXPORT", "1"); //1 = PDF wird schreibgeschützt
acc.AddParameter("BLACKWHITE", strFarbe); //0 = farbig, 1 = PDF wird schwarz-weiss, 2 = Graustufen
acc.AddParameter("EXPORTFILE", strPDFDirectory + strPDFFilename);
oCLI.Execute("export", acc);
}

oProgress2.EndPart(true);


Ist die gewünschte Datei allerdings bereits vorhanden und geöffnet, dann wird das Script ohne Fehlermeldung beendet; natürlich aber auch, ohne Erstellung des PDFs.
Wie kann ich diesen Fehler abfangen und per Meldung an den Benutzer rausgeben?

Schon mal "Vielen Dank" für eure Hilfe!


------------------
Gruß, Aban.
================================================

"Das Dumme an Zitaten aus dem Internet ist,
dass man nie weiß, ob sie wahr sind".

[Leonardo da Vinci]

[Diese Nachricht wurde von aban am 22. Apr. 2025 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

apps4eplan
Mitglied
freier Entwickler


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

Beiträge: 137
Registriert: 26.11.2020

EEC Professional in allen Versionen

erstellt am: 22. Apr. 2025 17:57    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 aban 10 Unities + Antwort hilfreich

bereits vorhanden sollte nicht das Problem sein, da knallt Eplan einfach drüber, aber geöffnet wird halt Probleme machen?!

Datei vorher versuchen zu löschen und wenn nicht möglich, MessageBox --> Datei dürfte geöffnet sein!

Sollte Abhilfe schaffen?!

------------------
sind doch alles nur Nuller und Einser :-) !!!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



Dipl.-Ing./M./BA/Techniker Elektro-Konstrukteur (m/w/d)

Die Hinterkopf GmbH ist ein inhabergeführtes, mittelständisches Unternehmen in zweiter Generation mit Sitz in Eislingen/Fils bei Göppingen (BaWü), das 1962 gegründet wurde. Das Familienunternehmen hat es bei der Entwicklung und Herstellung von großen Maschinen und Produktionslinien zur Herstellung und Dekoration zylindrischer Hohlkörper zur Weltmarkt- und Technologieführerschaft geschafft....

Anzeige ansehenFeste Anstellung
Stringeater
Mitglied



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

Beiträge: 108
Registriert: 27.11.2014

EPLAN Electric P8 Select 2.9, Windows 10
EPLAN Electric P8 2025, Windows 10

erstellt am: 24. Apr. 2025 18:54    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 aban 10 Unities + Antwort hilfreich

Hallo Aban

Du kannst die Funktion 'FileIsOpen' ins Script einfügen.

Code:
using System.IO

/// <summary>Checks if specified file is open. Returns true if file is open. Returns false if file doesn't exist.</summary>
public static bool FileIsOpen(string fullPath)
{
    if (!File.Exists(fullPath)) return false;
    try { using (Stream stream = new FileStream(fullPath, FileMode.Open, FileAccess.ReadWrite, FileShare.None)) { } }
    catch { return true; }
    return false;
}


Dann fügst du diese Prüfung vor deinen Code ein:

Code:
if (FileIsOpen(strPDFDirectory + strPDFFilename))
{
    MessageBox.Show("Bitte PDF schliessen")
}
else
{
    [dein Code]
}

Deiner Frage entnehme ich, dass du nur den Fall eines geöffneten PDF prüfen willst. Wenn du auch prüfen willst, ob ein PDF bereits existiert, dann ginge das mit:
Code:
if (File.Exists(strPDFDirectory + strPDFFilename))

Ich hoffe, das klappt.

Gruss
Stringeater

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)2025 CAD.de | Impressum | Datenschutz