element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Autodesk EAGLE
  • Products
  • More
Autodesk EAGLE
EAGLE Support (Deutsch) cmd.exe Aufruf aus ULP Problem
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Autodesk EAGLE to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 16 replies
  • Subscribers 179 subscribers
  • Views 1417 views
  • Users 0 members are here
Related

cmd.exe Aufruf aus ULP Problem

Former Member
Former Member over 14 years ago

Hallo,

 

ich habe folgende Zeile am ende eines ULP's.

 

sprintf(sCmd, "cmd.exe /c %s", sDatasheet); system(sCmd);

(sDatasheet = Pfand inkl. Dateiname des Datenblattes)

 

Solange wie ich das PDF welches mir das ULP geöffnet hat oder das

CMD-Fenster(Dos) nicht schliesse reagiert Eagle sehr langsam und die

Sanduhr wird angezeigt.

Ein weiteres ULP kann nicht gestartet werden weil das ULP immernoch läuft.

 

Kann ich diesen Aufruf anders machen, damits mit das PDF öffnet und

anschliessend das ULP beendet. Oder gibts für diese Problem einen Bugfix.

 

--

mfg Patrick Steiner

 

Eagle 5.11.0 Professional

 

  • Sign in to reply
  • Cancel
Parents
  • Former Member
    Former Member over 14 years ago

    Patrick Steiner wrote:

    Hallo,

     

    ich habe folgende Zeile am ende eines ULP's.

     

    sprintf(sCmd, "cmd.exe /c %s", sDatasheet); system(sCmd);

    (sDatasheet = Pfand inkl. Dateiname des Datenblattes)

     

    Solange wie ich das PDF welches mir das ULP geöffnet hat oder das

    CMD-Fenster(Dos) nicht schliesse reagiert Eagle sehr langsam und die

    Sanduhr wird angezeigt.

    Ein weiteres ULP kann nicht gestartet werden weil das ULP immernoch

    läuft.

     

    Kann ich diesen Aufruf anders machen, damits mit das PDF öffnet und

    anschliessend das ULP beendet. Oder gibts für diese Problem einen

    Bugfix.

     

    --

    mfg Patrick Steiner

     

    Eagle 5.11.0 Professional

     

     

    Fügen Sie den Befehl "Start"

     

    sprintf(sCmd, "cmd.exe /c start  %s", sDatasheet);

     

    Warren

     

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 14 years ago in reply to Former Member

    Am 31.05.2011 23:22, schrieb Warren Brayshaw:

    Patrick Steiner wrote:

    >> Hallo,

    >>

    >> ich habe folgende Zeile am ende eines ULP's.

    >>

    >> sprintf(sCmd, "cmd.exe /c %s", sDatasheet); system(sCmd);

    >> (sDatasheet = Pfand inkl. Dateiname des Datenblattes)

    >>

    >> Solange wie ich das PDF welches mir das ULP geöffnet hat oder das

    >> CMD-Fenster(Dos) nicht schliesse reagiert Eagle sehr langsam und die

    >> Sanduhr wird angezeigt.

    >> Ein weiteres ULP kann nicht gestartet werden weil das ULP immernoch

    >> läuft.

    >>

    >> Kann ich diesen Aufruf anders machen, damits mit das PDF öffnet und

    >> anschliessend das ULP beendet. Oder gibts für diese Problem einen

    >> Bugfix.

    >>

    >> --

    >> mfg Patrick Steiner

    >>

    >> Eagle 5.11.0 Professional

    >

    Fügen Sie den Befehl "Start"

     

    sprintf(sCmd, "cmd.exe /c start  %s", sDatasheet);

     

    Vielen Dank für den Hinweis.

    Funktioniert aber nur zum Teil.

     

    Erläuterung:

    Die Pfadangabe inkl. Dateinamen sind dem Attribut Datasheet der

    Komponenten hinterlegt.

     

    Wenn der Pfad und Dateiname in Anführungszeichen

    "c:\datasheets\ic\lp2998.pdf" hinterlget ist, dann funktioniert der

    Befehlt mit dem zusätzlichen startkommando nicht. Es öffnet sich nur das

    Dos-Fenster, bleibt offen und nichts geschieht weiter.

     

    Wenn der Pfad und Dateiname ohne Anführungszeichen

    c:\datasheets\ic\lp2998.pdf hinterlget ist, dann funktioniert der

    Befehlt mit dem zusätzlichen startkommando. Es öffnet sich nur das

    Dos-Fenster, schliesst dann wieder und das gewünschte Datenblatt erscheint.

     

    Die Anführungszeichen benötigts halt weil gewisse Pfad und Dateinamen

    Leerschläge beinhalten. Dann würden wiederum diese nicht geöffnet ohne

    der zusätzlichen Anführungszeichen.

     

    --

    mfg Patrick Steiner

     

    Eagle 5.11.0 Professional

     

     

     

     

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 14 years ago in reply to Former Member

    Am 01.06.2011 07:58, schrieb Patrick Steiner:

    Dos-Fenster, schliesst dann wieder und das gewünschte Datenblatt erscheint.

     

    Die Anführungszeichen benötigts halt weil gewisse Pfad und Dateinamen

    Leerschläge beinhalten. Dann würden wiederum diese nicht geöffnet ohne

    der zusätzlichen Anführungszeichen.

     

    Die "Leerschläge" (Leerzeichen) kann man auch durch "\"

    ("Rückschlag";) anführen, bin mir aber nicht sicher, ob das bei der

    dynamischen Namensgenerierung hier möglich ist.

     

     

    --

    Christoph

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 14 years ago in reply to Former Member

    Am 01.06.2011 09:25, schrieb Christoph Kukulies:

    Am 01.06.2011 07:58, schrieb Patrick Steiner:

    Dos-Fenster, schliesst dann wieder und das gewünschte Datenblatt erscheint.

    >>

    >> Die Anführungszeichen benötigts halt weil gewisse Pfad und Dateinamen

    >> Leerschläge beinhalten. Dann würden wiederum diese nicht geöffnet ohne

    >> der zusätzlichen Anführungszeichen.

     

    Die "Leerschläge" (Leerzeichen) kann man auch durch "\"

    ("Rückschlag";) anführen, bin mir aber nicht sicher, ob das bei der

    dynamischen Namensgenerierung hier möglich ist.

     

    >

     

    Ich habe diesen Hinweis umgesetzt:

     

    string sCmd;

    sprintf(sCmd, "cmd.exe /c start \"C:\WOM 25120.pdf\""); system(sCmd);

    //--> funktioniert nicht, DOS-Fenster öffnet sich, nichts passiert weiter

     

    sprintf(sCmd, "cmd.exe /c start C:\WOM 25120.pdf"); system(sCmd);

    //--> funktioniert nicht, Fehlermeldung "C:WOM konnte nicht gefunden

    werden"

     

    --

    mfg Patrick Steiner

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 14 years ago in reply to Former Member

     

    Sie könnten die Pfade zu ändern DOS 8char Kurznamen

    (Übersetzung mit freundlicher Genehmigung von Google)

     

    http://webmechanic.blogspot.com/2008/10/spaces-in-file-path-in-dos.html

     

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 14 years ago in reply to Former Member

    Am 01.06.2011 09:58, schrieb Patrick Steiner:

    Ich habe diesen Hinweis umgesetzt:

     

    string sCmd;

    sprintf(sCmd, "cmd.exe /c start \"C:\WOM 25120.pdf\""); system(sCmd);

    //--> funktioniert nicht, DOS-Fenster öffnet sich, nichts passiert weiter

     

    sprintf(sCmd, "cmd.exe /c start C:\WOM 25120.pdf"); system(sCmd);

    //--> funktioniert nicht, Fehlermeldung "C:WOM konnte nicht gefunden

    werden"

     

    sprintf(sCmd, "cmd.exe /c start \"C:
    WOM 25120.pdf\"");

     

    Beachten Sie die Backslash!

     

    \"   braucht man, um in einem String ein " anzugeben,

    das braucht wiederum DOS um einen Pfad/Dateinamen mit Leerzeichen

    als einen Namen zu erkennen.

     


       braucht man, um in einem String ein \ anzugeben.

     

    Ein Backslash leitet in C ein Sonderzeichen ein, für DOS braucht man

    aber leider die Backslash für die Trennzeichen Pfad/Dateiname.

    Es ist ein Trauerspiel mit MS.

     

    Hier eine Testumgebung:

     

    string sCmd;

     

    sprintf(sCmd, "cmd.exe /c start \"C:
    WOM 25120.pdf\"");

     

    dlgDialog("test") {

       dlgTextEdit(sCmd);

       dlgPushButton("OK") dlgAccept();

    };

     

    system(sCmd);

     

     

    Nur wen Sie in dem Textfeld die \ (Backslash) sehen, dann klappt es

    auch mit DOS.

     

     

     

    Mit freundlichen Grüßen / Best regards

     

    Alfred Zaffran

    --

    _____________________________________________________________

    Alfred Zaffran              Support

    CadSoft Computer GmbH       Hotline:   08635-698930

    Pleidolfweg 15              FAX:       08635-698940

    84568 Pleiskirchen          eMail: <alf@cadsoft.de>

                                 Web:   <www.cadsoft.de>

    Registergericht: Amtsgericht Traunstein HRB 5573

    Geschäftsführer: Dipl.-Ing. Klaus Schmidinger, Bodo Badnowitz

    _____________________________________________________________

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 14 years ago in reply to Former Member

    Am 01.06.2011 10:23, schrieb A. Zaffran:

     

     

    sprintf(sCmd, "cmd.exe /c \"C:
    WOM 25120.pdf\"");

     

    Die Option "start" braucht es nicht, zumindest unter WinXP SP3

     

     

    Mit freundlichen Grüßen / Best regards

     

    Alfred Zaffran

    --

    _____________________________________________________________

    Alfred Zaffran              Support

    CadSoft Computer GmbH       Hotline:   08635-698930

    Pleidolfweg 15              FAX:       08635-698940

    84568 Pleiskirchen          eMail: <alf@cadsoft.de>

                                 Web:   <www.cadsoft.de>

    Registergericht: Amtsgericht Traunstein HRB 5573

    Geschäftsführer: Dipl.-Ing. Klaus Schmidinger, Bodo Badnowitz

    _____________________________________________________________

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 14 years ago in reply to Former Member

    Am 01.06.2011 10:13, schrieb Warren Brayshaw:

    Sie könnten die Pfade zu ändern DOS 8char Kurznamen

    (Übersetzung mit freundlicher Genehmigung von Google)

     

    http://webmechanic.blogspot.com/2008/10/spaces-in-file-path-in-dos.html

     

    >

     

     

    1. Problem mit den Leerzeichen besteht weiterhin wenn das Leerzeichen

    innerhalb der ersten 6 Zeichen vorkommt.

     

    2. Wenn zwei Verzeichnisse oder Dateinamen in den ersten 6 Zeichen

    identisch sind habe ich wieder verloren

     

    --

    mfg Patrick Steiner

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 14 years ago in reply to Former Member

    Am 01.06.2011 10:23, schrieb A. Zaffran:

    Am 01.06.2011 09:58, schrieb Patrick Steiner:

    >> Ich habe diesen Hinweis umgesetzt:

    >>

    >> string sCmd;

    >> sprintf(sCmd, "cmd.exe /c start \"C:\WOM 25120.pdf\""); system(sCmd);

    >> //--> funktioniert nicht, DOS-Fenster öffnet sich, nichts passiert weiter

    >>

    >> sprintf(sCmd, "cmd.exe /c start C:\WOM 25120.pdf"); system(sCmd);

    >> //--> funktioniert nicht, Fehlermeldung "C:WOM konnte nicht gefunden

    >> werden"

     

    sprintf(sCmd, "cmd.exe /c start \"C:
    WOM 25120.pdf\"");

     

    Beachten Sie die Backslash!

     

    \" braucht man, um in einem String ein " anzugeben,

    das braucht wiederum DOS um einen Pfad/Dateinamen mit Leerzeichen

    als einen Namen zu erkennen.

     


    braucht man, um in einem String ein \ anzugeben.

     

    Ein Backslash leitet in C ein Sonderzeichen ein, für DOS braucht man

    aber leider die Backslash für die Trennzeichen Pfad/Dateiname.

    Es ist ein Trauerspiel mit MS.

     

    Hier eine Testumgebung:

     

    string sCmd;

     

    sprintf(sCmd, "cmd.exe /c start \"C:
    WOM 25120.pdf\"");

     

    dlgDialog("test") {

    dlgTextEdit(sCmd);

    dlgPushButton("OK") dlgAccept();

    };

     

    system(sCmd);

     

    >

    Nur wen Sie in dem Textfeld die \ (Backslash) sehen, dann klappt es

    auch mit DOS.

     

    Vielen Dank, der \ hats gebracht. Ich denke ich schreibe die

    zusätzlichen \ im ULP in den String rein, damit im Atrribut der "schöne"

    Dateiname C:\WOM 25120.pdf erhalten bleibt.

     

    Jetzt funktionierts auch ohne "start-Kommandozusatz". Eagle reagiert

    nicht mehr langsam und weitere ULP's können geöffnet werden.

     

    --

    mfg Patrick Steiner

     

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 14 years ago in reply to Former Member

    Am 01.06.2011 10:23, schrieb A. Zaffran:

    Am 01.06.2011 09:58, schrieb Patrick Steiner:

    >> Ich habe diesen Hinweis umgesetzt:

    >>

    >> string sCmd;

    >> sprintf(sCmd, "cmd.exe /c start \"C:\WOM 25120.pdf\""); system(sCmd);

    >> //--> funktioniert nicht, DOS-Fenster öffnet sich, nichts passiert weiter

    >>

    >> sprintf(sCmd, "cmd.exe /c start C:\WOM 25120.pdf"); system(sCmd);

    >> //--> funktioniert nicht, Fehlermeldung "C:WOM konnte nicht gefunden

    >> werden"

     

    sprintf(sCmd, "cmd.exe /c start \"C:
    WOM 25120.pdf\"");

     

    Beachten Sie die Backslash!

     

    \" braucht man, um in einem String ein " anzugeben,

    das braucht wiederum DOS um einen Pfad/Dateinamen mit Leerzeichen

    als einen Namen zu erkennen.

     


    braucht man, um in einem String ein \ anzugeben.

     

    Ein Backslash leitet in C ein Sonderzeichen ein, für DOS braucht man

    aber leider die Backslash für die Trennzeichen Pfad/Dateiname.

    Es ist ein Trauerspiel mit MS.

     

    Hier eine Testumgebung:

     

    string sCmd;

     

    sprintf(sCmd, "cmd.exe /c start \"C:
    WOM 25120.pdf\"");

     

    dlgDialog("test") {

    dlgTextEdit(sCmd);

    dlgPushButton("OK") dlgAccept();

    };

     

    system(sCmd);

     

    ich nochmals, habe gerade bemerkt, dass Klammern () in Dateiname

    vorkommen können und der folgende Command nicht funktioniert.

     

    string sCmd;

    sprintf(sCmd, "cmd.exe /c \"C:
    WOM (25120).pdf\"");

    dlgDialog("test") {

    dlgTextEdit(sCmd);

    dlgPushButton("OK") dlgAccept();

    };

    system(sCmd);

     

    Wenn ich den Inhalt aus dem Vorschaudialog kopiere und in einem

    Dos-Command einfüge funktioniert der Aufruf.

    Kann es sein, dass die Klammer () nicht per Eagle cmd.exe funktioniert

    und gibt es noch andere (in Windows für Datei und Pfadnamen legale)

    Zeichen welche nicht durch diesen cmd.exe kommen.

     

    --

    mfg Patrick Steiner

     

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 14 years ago in reply to Former Member

    Am 01.06.2011 09:58, schrieb Patrick Steiner:

    Am 01.06.2011 09:25, schrieb Christoph Kukulies:

    >> Am 01.06.2011 07:58, schrieb Patrick Steiner:

    >> Dos-Fenster, schliesst dann wieder und das gewünschte Datenblatt

    >> erscheint.

    >>>

    >>> Die Anführungszeichen benötigts halt weil gewisse Pfad und Dateinamen

    >>> Leerschläge beinhalten. Dann würden wiederum diese nicht geöffnet ohne

    >>> der zusätzlichen Anführungszeichen.

    >>

    >> Die "Leerschläge" (Leerzeichen) kann man auch durch "\"

    >> ("Rückschlag";) anführen, bin mir aber nicht sicher, ob das bei der

    >> dynamischen Namensgenerierung hier möglich ist.

    >>

    >>

    >

    Ich habe diesen Hinweis umgesetzt:

     

    string sCmd;

    sprintf(sCmd, "cmd.exe /c start \"C:\WOM 25120.pdf\""); system(sCmd);

     

    So etwa:

     

    sprintf(sCmd,"cmd.exe /c start C:
    WOM
    25120.pdf"); system(sCmd);

     

    //--> funktioniert nicht, DOS-Fenster öffnet sich, nichts passiert weiter

     

    sprintf(sCmd, "cmd.exe /c start C:\WOM 25120.pdf"); system(sCmd);

    //--> funktioniert nicht, Fehlermeldung "C:WOM konnte nicht gefunden

    werden"

     

    --

    mfg Patrick Steiner

     

     

     

    --

    Christoph

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • Former Member
    Former Member over 14 years ago in reply to Former Member

    Am 01.06.2011 09:58, schrieb Patrick Steiner:

    Am 01.06.2011 09:25, schrieb Christoph Kukulies:

    >> Am 01.06.2011 07:58, schrieb Patrick Steiner:

    >> Dos-Fenster, schliesst dann wieder und das gewünschte Datenblatt

    >> erscheint.

    >>>

    >>> Die Anführungszeichen benötigts halt weil gewisse Pfad und Dateinamen

    >>> Leerschläge beinhalten. Dann würden wiederum diese nicht geöffnet ohne

    >>> der zusätzlichen Anführungszeichen.

    >>

    >> Die "Leerschläge" (Leerzeichen) kann man auch durch "\"

    >> ("Rückschlag";) anführen, bin mir aber nicht sicher, ob das bei der

    >> dynamischen Namensgenerierung hier möglich ist.

    >>

    >>

    >

    Ich habe diesen Hinweis umgesetzt:

     

    string sCmd;

    sprintf(sCmd, "cmd.exe /c start \"C:\WOM 25120.pdf\""); system(sCmd);

     

    So etwa:

     

    sprintf(sCmd,"cmd.exe /c start C:
    WOM
    25120.pdf"); system(sCmd);

     

    //--> funktioniert nicht, DOS-Fenster öffnet sich, nichts passiert weiter

     

    sprintf(sCmd, "cmd.exe /c start C:\WOM 25120.pdf"); system(sCmd);

    //--> funktioniert nicht, Fehlermeldung "C:WOM konnte nicht gefunden

    werden"

     

    --

    mfg Patrick Steiner

     

     

     

    --

    Christoph

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
  • Former Member
    Former Member over 14 years ago in reply to Former Member

    Im Anhang ein kleines komplettes ULP

    mit dem es zuverlässig funktioniert.

     

     

    Mit freundlichen Grüßen / Best regards

     

    Alfred Zaffran

    --

    _____________________________________________________________

    Alfred Zaffran              Support

    CadSoft Computer GmbH       Hotline:   08635-698930

    Pleidolfweg 15              FAX:       08635-698940

    84568 Pleiskirchen          eMail: <alf@cadsoft.de>

                                 Web:   <www.cadsoft.de>

    Registergericht: Amtsgericht Traunstein HRB 5573

    Geschäftsführer: Dipl.-Ing. Klaus Schmidinger, Bodo Badnowitz

    _____________________________________________________________

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 14 years ago in reply to Former Member

    Am 07.06.2011 09:54, schrieb A. Zaffran:

    Im Anhang ein kleines komplettes ULP

    mit dem es zuverlässig funktioniert.

     

    >

    Mit freundlichen Grüßen / Best regards

     

    Alfred Zaffran

    Vielen Dank, für das Musterfile.

     

    Ist es bei Ihnen auch so, dass:

    - wenn Sie mit dem ULP ein PDf öffnen und zuvor kein anderes PDF

    geöffnet ist, das dann das DOS-Fenster nicht schliesst und falls zuvor

    ein PDF offen war das DOS-Fenster verschwindet?

    - Dateinamen mit runden Klammern lassen sich damit nicht öffnen

     

    --

    mfg Patrick Steiner

    Eagle 5.11.0 Professional

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 14 years ago in reply to Former Member

    Am 07.06.2011 14:14, schrieb Patrick Steiner:

    Am 07.06.2011 09:54, schrieb A. Zaffran:

    >> Im Anhang ein kleines komplettes ULP

    >> mit dem es zuverlässig funktioniert.

    >>

    >>

    >> Mit freundlichen Grüßen / Best regards

    >>

    >> Alfred Zaffran

    Vielen Dank, für das Musterfile.

     

    Ist es bei Ihnen auch so, dass:

    - wenn Sie mit dem ULP ein PDf öffnen und zuvor kein anderes PDF

    geöffnet ist, das dann das DOS-Fenster nicht schliesst und falls zuvor

    ein PDF offen war das DOS-Fenster verschwindet?

     

    Es werden zwei DOS-Fenster geöffnet, eines von dem system() Aufruf,

    das gleich wieder geschlossen wird, ein zweites von dem Batch-File

    das im ersten DOS-Fenster gestartet wird. Durch den Aufruf des zweiten

    DOS-Fenster kann sich das erste schließen weil ja das "Programm"

    beendet ist und den Programmablauf wird wieder an Eagle (ULP) zurück

    gegeben.

    Das zweite DOS-Fenster ist die Instanz die von dem Batch-File erzeugt

    wird und in dem (unabhängig) die eigentliche PDF-Applikation läuft.

    Wird die PDF-Datei geschlossen (Acrobat-Reader) ist die Applikation

    beendet und das DOS-Fenster wird ebenfalls geschlossen.

    Option /C im Aufruf.

    Auch wenn mehrere DPF Dateien geöffnet sind, wird nur ein DOS-Fenster

    vom System benötigt, siehe "Titel".

     

     

    - Dateinamen mit runden Klammern lassen sich damit nicht öffnen

     

    Das ist wieder mal eine Unzulänglichkeit von (MS)DOS.

    Im Batch-File steht der Name jedenfalls richtig drin.

     

    Hier ein Auszug aus der Hilfe von CMD.EXE | CMD /?

     

    Wird /C oder /K angegeben, wird der Rest der Befehlszeile nach der

    Option als Befehlszeile verarbeitet, wobei folgende Logik zur

    Verarbeitung des doppelten Anführungszeichens (") gilt:

     

         1.  Sind alle folgenden Bedingungen erfüllt, wird ein doppeltes

             Anführungszeichen auf der Befehlszeile beibehalten:

     

             - keine Option "/S"

             - genau zwei doppelte Anführungszeichen

          •    - keines der folgenden Zeichen zwischen den doppelten

               Anführungszeichen: &<>()@^|

             - es ist mindestens ein Leerzeichen zwischen den doppelten

               Anführungszeichen

             - die Zeichenfolge zwischen den doppelten Anführungszeichen ist

               der Name einer ausführbaren Datei

     

     

    Beachten Sie ****

    Nicht alles was unter Windows im Dateinamen zugelassen ist,

    kann auch unter DOS verwendet werden.

    MS war da schon immer etwas inkonsequent.

     

     

    Mit freundlichen Grüßen / Best regards

     

    Alfred Zaffran

    --

    _____________________________________________________________

    Alfred Zaffran              Support

    CadSoft Computer GmbH       Hotline:   08635-698930

    Pleidolfweg 15              FAX:       08635-698940

    84568 Pleiskirchen          eMail: <alf@cadsoft.de>

                                 Web:   <www.cadsoft.de>

    Registergericht: Amtsgericht Traunstein HRB 5573

    Geschäftsführer: Dipl.-Ing. Klaus Schmidinger, Bodo Badnowitz

    _____________________________________________________________

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 14 years ago in reply to Former Member

    Patrick Steiner wrote:

    Am 07.06.2011 09:54, schrieb A. Zaffran:

    >> Im Anhang ein kleines komplettes ULP

    >> mit dem es zuverlässig funktioniert.

    >>

    >>

    >> Mit freundlichen Grüßen / Best regards

    >>

    >> Alfred Zaffran

    Vielen Dank, für das Musterfile.

     

    Ist es bei Ihnen auch so, dass:

    - wenn Sie mit dem ULP ein PDf öffnen und zuvor kein anderes PDF

    geöffnet ist, das dann das DOS-Fenster nicht schliesst und falls zuvor

    ein PDF offen war das DOS-Fenster verschwindet?

    - Dateinamen mit runden Klammern lassen sich damit nicht öffnen

     

    --

    mfg Patrick Steiner

    Eagle 5.11.0 Professional

     

    Apologies for using English.

     

    Eagle v5.11.1 (W2k), your milage may vary.

     

     

    I could not get a pdf to open without first calling "Acrobat.exe".  It would

    not work using file associations.

    I modified the ULP.

    I can now open pdf files and have no DOS box remain open.

    The behaviour is the same whether Acrobat reader is already open or not.

    I can open files with (parenthesis) in the file name.

     

    Here is the single line from the ebat.bat file that the ULP creates:

     

    start "C:\Program Files\Adobe\Acrobat 6.0\Reader\AcroRd32.exe" "C:\Documents

    and Settings\Warren\NewEagle\doc\tut(o)rial_en.pdf"

     

    HTH

    Warren

     

     

     

     

     

     

     

     

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 14 years ago in reply to Former Member

    Am 08.06.2011 06:10, schrieb Warren Brayshaw:

    Patrick Steiner wrote:

    >> Am 07.06.2011 09:54, schrieb A. Zaffran:

    >>> Im Anhang ein kleines komplettes ULP

    >>> mit dem es zuverlässig funktioniert.

    >>>

    >>>

    >>> Mit freundlichen Grüßen / Best regards

    >>>

    >>> Alfred Zaffran

    >> Vielen Dank, für das Musterfile.

    >>

    >> Ist es bei Ihnen auch so, dass:

    >> - wenn Sie mit dem ULP ein PDf öffnen und zuvor kein anderes PDF

    >> geöffnet ist, das dann das DOS-Fenster nicht schliesst und falls zuvor

    >> ein PDF offen war das DOS-Fenster verschwindet?

    >> - Dateinamen mit runden Klammern lassen sich damit nicht öffnen

    >>

    >> --

    >> mfg Patrick Steiner

    >> Eagle 5.11.0 Professional

     

    Apologies for using English.

     

    Eagle v5.11.1 (W2k), your milage may vary.

     

    >

    I could not get a pdf to open without first calling "Acrobat.exe".  It would

    not work using file associations.

    I modified the ULP.

    I can now open pdf files and have no DOS box remain open.

    The behaviour is the same whether Acrobat reader is already open or not.

    I can open files with (parenthesis) in the file name.

     

    Here is the single line from the ebat.bat file that the ULP creates:

     

    start "C:\Program Files\Adobe\Acrobat 6.0\Reader\AcroRd32.exe" "C:\Documents

    and Settings\Warren\NewEagle\doc\tut(o)rial_en.pdf"

     

    HTH

    Warren

     

    Hallo Warren,

     

    das funktioniert zwar, aber der Anwender muß den Pfad des Programm

    (Acrobat-Reader) kennen und im ULP entsprechend eintragen.

    Bei mir hier definitiv nicht C: !

    In der gewünschten Variante des Anwender sollte es mit der Verknüpfung

    der Dateinamenserweiterung funktionieren, was den Vorteil hat, dass man

    erstens den Pfad des Programm nicht kennen muss und es funktioniert mit

    jeder Dateinamenserweiterung für die es einen Eintrag gibt. image

     

     

     

    Mit freundlichen Grüßen / Best regards

     

    Alfred Zaffran

    --

    _____________________________________________________________

    Alfred Zaffran              Support

    CadSoft Computer GmbH       Hotline:   08635-698930

    Pleidolfweg 15              FAX:       08635-698940

    84568 Pleiskirchen          eMail: <alf@cadsoft.de>

                                 Web:   <www.cadsoft.de>

    Registergericht: Amtsgericht Traunstein HRB 5573

    Geschäftsführer: Dipl.-Ing. Klaus Schmidinger, Bodo Badnowitz

    _____________________________________________________________

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube