- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Melden
Ein Hallo an die Forums Gemeinde, ich habe seit der Version 2021 ein Problem mit Lisp Variablen. Bis dato, also Autocad 2020, funktionierte alles wunderbar.
Das Problem ist folgendes:
In Lisp habe ich Werte die in globalen Variablen abgelegt sind. Z.B. habe ich einen speziellen Pfad gesetzt in der "acad.lsp" oder "acaddoc.lsp" oder in einem eigenen Programm. Nun gibt es auch ein VBA Programm welches diesen Pfad benötigt. Dazu gibt es folgende "Public Function".
Public Function GetLispVar(sym As String) As Variant
Dim vlApp As Object
Dim vlRead As Object
Dim vlEval As Object
Set vlApp = AcadApplication.GetInterfaceObject("Vl.Application.16")
Set vlRead = vlApp.ActiveDocument.Functions.item("read")
Set vlEval = vlApp.ActiveDocument.Functions.item("eval")
GetLispVar = vlEval.funcall(vlRead.funcall(sym))
End Function
Der Aufruf sieht folgendermaßen aus: Pfad = GetLispVar("g_prog_pfad")
Wird dies in Autocad 2020 benutzt steht in "Pfad " der Wert der Variablen "g_prog_pfad".
In Autocad 2021 gibt es einen Fehler in der Zeile:
Set vlApp = AcadApplication.GetInterfaceObject("Vl.Application.16")
Ich habe aber so das ungute Gefühl als ob mit der 2021 keine Lösung möglich ist. Es wurde ja schon vor geraumer Zeit spekuliert, dass Lisp und VBA nicht mehr unterstützt werden und nur noch .NET das einzig Wahre ist. Dies mag sein, aber für viele kleine Anwendungen ist Lisp und VBA unschlagbar, schnell, einfach und unkompliziert.
Nun, das war es eigentlich. Vielleicht kann mir da jemand helfen?
Danke
Gelöst! Gehe zur Lösung