Ankündigungen

Die Autodesk Community-Foren haben ein neues Aussehen. Liest mehr darüber, was sich im Community Announcements Board geändert hat.

Zugriff auf eine Lisp Variable aus VBA Programm in AUtocad 2021

zechundruth
Participant

Zugriff auf eine Lisp Variable aus VBA Programm in AUtocad 2021

zechundruth
Participant
Participant

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

 

0 „Gefällt mir“-Angaben
Antworten
Akzeptierte Lösungen (1)
754Aufrufe
2Antworten
Antworten (2)

zechundruth
Participant
Participant
Akzeptierte Lösung

Ich habe die Antwort selber gefunden. Es liegt an der neuen Variablen "LISPSYS".

Diese muss wieder auf "0" gesetzt werden um die alte LISP IDE als default-Editor zu setzen.

Standard ist aber die "1" (Microsoft Visual Studio), Unterstützung von Unicode.

 

 

 

 

 

0 „Gefällt mir“-Angaben

m_latz
Advisor
Advisor

Du meinst Microsoft Visual Studio Code, das Programm ist nicht in Microsoft Visual Studio enthalten. Kann aber kostenlos bei Microsoft heruntergeladen werden.

 

https://code.visualstudio.com

 

 

Gruß

 

Markus

0 „Gefällt mir“-Angaben