Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Compilieren von Lispdateien vereinfachen

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
Autor Thema:   Compilieren von Lispdateien vereinfachen (1576 mal gelesen)
Theodor Schoenwald
Ehrenmitglied



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

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 30. Jul. 2006 17:07    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,

Einige Fragen zum Compilieren.

Beispiel:

ich habe eine Datei: "TEST.LSP"
und                  "TEST.DCL")

Damit mache ich eine "TEST.PRV"
Das habe ich mit einem Tool automatisiert, das funktioniert mit nur LSP und mit LSP + DCL)

Wenn ich dann eine "TEST.VLX" erstellen möchte, gehe ich in V-Lisp
über -->Datei -->Anwendung erstellen -->Anwendung neu erstellen und
wähle dann meine "TEST.PRV" aus und bekomme danach die "TEST.VLX".

Nun hätte ich gerne einen Weg, wie ich
- ohne die ganze Menüklickerei -
auch den Weg von "PRV" zu "VLX" automatisieren kann.

Wenn ich wüsste wie die Befehlszeile auszusehen hat um von "PRV" zu "VLX" zu kommen, könnte ich z.B. mit "While" ein ganzes Verzeichnis mit LSP und DCL-Dateien auf einmal compilieren.

Gruß
Theodor Schönwald


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

Paulchen
Mitglied
Bauing./SW-Entwickler


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

Beiträge: 1227
Registriert: 19.08.2004

Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 18.1, LibreOffice 5+

erstellt am: 31. Jul. 2006 08:00    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 Theodor Schoenwald 10 Unities + Antwort hilfreich

Guten morgen Theodor,
hilft Dir "vlisp-compile" für Deine Zwecke? Gib mal in der lisp-Hilfe "compile" ein, "vlisp-compile function".
Zitat:
To compile a single AutoLISP file, call the vlisp-compile function. The function syntax is

(vlisp-compile 'mode "filename" [out-filename])
For this function

mode is a symbol identifying the compiler mode
filename is a string naming the source file
out-filename is a string naming the compiled output file


Gruß Frederik

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

Theodor Schoenwald
Ehrenmitglied



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

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 31. Jul. 2006 10:02    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

Guten Morgen Frederik,

Danke für Deine Antwort, das hatte ich in der Hilfe schon
gefunden, aber ich komme damit nicht weiter.

Als Beispiel liste ich eine PRV-Datei:
---------------------------------------
SW_KONTR.PRV
---------------------------------------
(PRV-DEF (:target . "SW_KONTR.VLX")
  (:active-x . T)
  (:separate-namespace)
  (  rotected . T)
  (:load-file-list (:lsp "SW_KONTR.LSP"))
  (:require-file-list (  CL "SW_KONTR.DCL"))
  (  b-directory)
  (:tmp-directory)
  (  ptimization . st)
)
-------------------------------------

Wie könnte eine Befehlszeile aussehen?
(vlisp-compile ... "SW_KONTR.PRV" ... )???

Gruß
Theodor

[Diese Nachricht wurde von Theodor Schoenwald am 31. Jul. 2006 editiert.]

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

Paulchen
Mitglied
Bauing./SW-Entwickler


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

Beiträge: 1227
Registriert: 19.08.2004

Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 18.1, LibreOffice 5+

erstellt am: 31. Jul. 2006 10:13    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 Theodor Schoenwald 10 Unities + Antwort hilfreich

Hallo Theodor,
tut mir leid, da muß ich passen. Ich selbst habe bisher nur 3-5 lsp-Dateien kompiliert, bei anderen Erweiterungen habe ich nicht den Hauch einer Ahnung :-((( Andere Mitglieder wissen da sicherlich weiter!
Frederik

P.S.: Die "Grinser" haben Dir doch tatsächlich den Code zerlegt...

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

andi2050
Mitglied



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

Beiträge: 107
Registriert: 11.03.2003

erstellt am: 31. Jul. 2006 19:48    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 Theodor Schoenwald 10 Unities + Antwort hilfreich


subr2004.txt

 
Hallo

Ich bin auch kein Compiler Experte, aber mit 'vlisp-comile' kannst Du m.E. nur fas-Files erzeugen.
Es gibt aber noch weitere VLISP-... Funktionen.

Ich hab Dir mal eine Datei mit ALLEN 'LISP-Befehlen' von ACAD2004 angehängt. Die Liste ist sehr lang, enthält aber auch alle VLISP-... Funktionen (Kompilerfunktionen). Vielleicht findest Du darin den richtigen Befehl zum Erstellen einer Anwendung.
Aber Vorsicht: Ich hab mir vorhin beim Probieren ein Sourcefile überschrieben mit der Funktion VLISP-MAKE-PROJECT-LOAD-FILE (erstellt mittels der PRJ-Datei ein LISP-File mit LOAD-Anweisungen -> Die erstellet Datei hatte den gleichen Namen als eine Source-Datei)

Is' zwar keine Lösung Deines Problems, aber vielleicht bringt's Dich weiter...

Grüße

Andi

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

Theodor Schoenwald
Ehrenmitglied



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

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 31. Jul. 2006 22:34    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

Danke Andi!

Heute habe ich weiter im Netz gestöbert und nur ein Beitrag mit Fragen und Antworten gefunden. Das Ergebnis der Beiträge war: so eine Funktion gibt es bei V-Lisp nicht. In einer Antwort steht: "Sie wurde einfach vergessen".
Da ich ein Lisp-Tool gemacht habe, das die PRV-Dateien automatisch erstellt, ist das Compilieren schon ein Stück weit vereinfacht. Komplett automatisieren kann ich dann halt nicht.

Wenn Interesse besteht, kann ich das Tool listen.

Gruß
Theodor

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13436
Registriert: 30.11.2003

.

erstellt am: 01. Aug. 2006 07:48    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 Theodor Schoenwald 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Theodor Schoenwald:
D
Wenn Interesse besteht, kann ich das Tool listen.

Jo, warum nicht..

------------------
  - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

WolfgangGutke
Mitglied
Konstrukteur


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

Beiträge: 109
Registriert: 28.09.2004

AutoCAD 2002
AutoCAD 2006
ObjectDCL 2.02

erstellt am: 01. Aug. 2006 11:15    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 Theodor Schoenwald 10 Unities + Antwort hilfreich

Hallo,
da ich keine DCL's habe, kompelier ich meine LISP mit folgender Funktion:

(defun c:compiler (/)
  (setq Erg (mapcar '(lambda (y)
    (cons (vlisp-compile 'st y nil) y)
  )
  (mapcar '(lambda (x)(strcat "C:\\Prog" "\\" x))
  (VL-DIRECTORY-FILES "C:\\Prog" "*.lsp" 1))))
  )

Hinterher bekomme ich noch ne Liste der kompelierten Funktionen + Fehler

Ich hoffe, es hilft!

VG
Wolfgang

------------------
LISP = Lots of Insane Stupid Parantheses

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

Theodor Schoenwald
Ehrenmitglied



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

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 01. Aug. 2006 14:22    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 Thomas,

Dein Wunsch:
Verbesserungsvorschläge werden gern gesehen.
"(defun STR_LST ..." ist von Axel

Gruß Theodor
;;------------------------------------------------
;;; Erstellt automatisch PRV-Dateien aus allen Lisp- und DCL-Dateien,
;;; die sich im gleichen Ordner befinden.
;;; V 1.0, 1.8.06, Theodor Schönwald
;;
(defun C:MAKE_PRV (/ LEER Z_ORDN LL_DAT F Z FILE DCL A A_1 B B_1 E L_D DAT_INI INI_DAT)

(setvar "CMDECHO" 0)
(setq LEER (strcat "\n" (chr 160) "\n" (chr 160) "\n" (chr 160)))
;; Zeile in Datei schreiben
(defun W_L_F (B / ZEIL)
  (setq ZEIL (write-line B FILE))
)
;; LSP-Dateiordner auslesen
(defun GETPATH (F /)(apply 'strcat(reverse (cdr (member "\\" (STR_LST F))))))
(defun STR_LST (STR / LS I)
  (setq I 1)
  (repeat (strlen STR)
  (setq LS (cons (substr STR I 1) LS))
  (setq I (1+ I))
  )
  (setq F LS)
)
;;________________________________________________________________
(princ LEER)
;; Aus der gewählten Lisp-Datei wird der Ordner ausgelesen, in dem weitere
;; Lispdateien sind.
(prompt "\nOrdner der Lispdateien festlegen")
(setq Z_ORDN (GETPATH (setq DAT (getfiled "\nAuswahl einer LSP-Datei" "" "LSP" 4)))
      LL_DAT (strcat (getenv "temp") "\\LL.TXT")
)
(command "SHELL" (strcat "Dir " Z_ORDN "\\*.lsp /b >" LL_DAT)); Dateinamen in LL_DAT
(princ)
(setq Z 1)
(while (and (not (findfile LL_DAT)) (<= Z 5))
  (command "PAUSE" 1000)
  (setq Z (1+ Z))
)
(princ LEER)
(setq DAT_INI (findfile LL_DAT))
(if DAT_INI
  (setq INI_DAT (open DAT_INI "r"))
)
(prompt "\n")
(setq A t)
(while A
  (setq A (read-line INI_DAT))          ; NC-Dateiname festlegen
  (if A
  (progn
    (setq A_1 A)
    (setq A (strcase (strcat Z_ORDN "\\" A)))
    (if (/= A (strcase (strcat Z_ORDN "\\Make_PRV.LSP")))
    (progn
      (setq B  (substr A 1 (- (strlen A) 4))
            B_1 (substr A_1 1 (- (strlen A_1) 4))
            E  (strcat B ".DCL")
            L_D (findfile E)
      )
      (if L_D
      (setq DCL t)
      (setq DCL NIL)
      )
      (setq FILE (open (strcat B ".PRV") "w"))
      (W_L_F (strcat "(PRV-DEF (:target . \"" B_1 ".VLX\")"))
      (W_L_F "  (:active-x . T)")
      (W_L_F "  (:separate-namespace)")
      (W_L_F "  ( rotected . T)")
      (W_L_F (strcat "  (:load-file-list (:lsp \"" B_1 ".LSP\"))"))
      (if DCL
      (W_L_F (strcat "  (:require-file-list ( CL \"" B_1 ".DCL\"))"))
      (W_L_F "  (:require-file-list)")
      )
      (W_L_F "  ( b-directory)")
      (W_L_F "  (:tmp-directory)")
      (W_L_F "  ( ptimization . st)")
      (W_L_F ")")
      (close FILE)
      (setq FILE NIL)
      (princ)
    ) ;_ end progn
    ) ;_ end if
  ) ;_ end progn
  ) ;_ end if
) ;_ end While
(close INI_DAT)
(setq INI_DAT NIL)
(prompt "\nFertig")
(princ)
)
(princ)
(prompt "\nCompilierungs-Tool Make_PRV geladen")
(princ)

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

Theodor Schoenwald
Ehrenmitglied



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

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 01. Aug. 2006 14:28    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 Wolfgang,

Danke für Deinen Beitrag.
Zumindest kann ich damit alle LSP ohne DCL compilieren und benötige nur noch PRV-Dateien für LSP+DCL.
Wieder ein Stück mehr Automatition. Nicht ganz, denn ich erhalte "FAS" und möchte haben "VLX".

Gruß
Theodor

[Diese Nachricht wurde von Theodor Schoenwald am 02. Aug. 2006 editiert.]

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