Kan het om een form die in vba gemaakt is op je scherm te laten komen door op een knop te drukken in een dialoogvenster dat in dcl formaat gemaakt is ?
Ik heb dit in mijn dcl bestand gestopt. Maar AutoCAD loopt telkens vast.
(vl-vbaload "c:/tom/dvb/afbeeldingdialogen.dvb")
(action_tile
"image"
"(vl-vbarun \"moduleafbeeldingen.toond1000k\")"
)
Alvast bedankt
Tom
vl-vbaload "c:/tom/dvb/afbeeldingdialogen.dvb")
(action_tile
"image"
"(vl-vbarun \"moduleafbeeldingen.toond1000k\")"
)
Laat de backslashes weg.
Kijk ook in de VL help AutoLisp Reference onder de V naar vl-vbaload en vl-vbarun.
Als ik de backslashes weglaat krijg ik het volgende. En dat werkt ook niet
(vl-vbaload "c:/tom/dvb/afbeeldingdialogen.dvb")
(action_tile
"image"
"(vl-vbarun "moduleafbeeldingen.toond1000k")"
)
Ik heb het ook al geprobeer om de action_tile door te verwijzen naar een ander programma maar dat lukt ook niet.
(vl-vbaload "c:/tom/dvb/afbeeldingdialogen.dvb")
(action_tile
"image"
"(gotodialoog)"
)
(defun gotodialoog ()
(vl-vbarun "moduleafbeeldingen.toond1000k")
)
Wat gebeurt er als je het aanroepen van de VBA in een apprte routine stopt?
Bijvoorbeeld: StartVBA
(defun c:StartVBA ()
(vl-vbaload "c:/tom/dvb/afbeeldingdialogen.dvb")
(vl-vbarun "moduleafbeeldingen.toond1000k")
)
en dan onder de tile de lisp opdracht StartVBA uitvoert?
(action_tile
"(StartVBA)"
)
Dit is het laatste wat op de commandoregel komt en dan kan ik niets meer doen in AutoCAD, dan loopt hij volledig vast.
_.-VBARUN
mischien zit het probleem in de backslash
ik gebruik zelf nooit vba dus ik weet niet hoe die er mee omgaat.
probeer een \\ of \ in plaast van /
let er ook op dat lisp voor bepaalde dingen hoofdletter gevoelig is.
Ik heb al veel geprobeerd als ik gewsoon in de commando regel de lijn
(vl-vbaload "c:/tom/dvb/afbeeldingdialogen.dvb")
en
(vl-vbarun "moduleafbeeldingen.toond1000k")
invoer doet hij het wel.
in de lispfile lukt het om het te laten loaden.
maar het runnen lukt niet.
Tom scgrijft:
Citeerin de lispfile lukt het om het te laten loaden.
maar het runnen lukt niet.
Het lijkt mij dat het dan niet mogelijk is om een VBA routine en een DCL routine tegelijk te laten draaien, en er dus niets anders op zit de VBA om te turnen naar Lisp.
Zo ja, kijk dan in de help onder
VBA syntax, translating into AutoLISPEn lees ook het volgende:
CiteerAn essential resource is the ActiveX and VBA Reference, which describes the methods and properties accessible to ActiveX clients such as this garden path application. The Working with ActiveX chapter of the Visual LISP Developer's Guide explains how to translate the VBAâ,,¢ syntax in the ActiveX and VBA Reference into ActiveX calls in AutoLISP syntax.
Kijk ook eens naar het volgende document
http://www.afralisp.com/lisp/setup1.htm
PS
het document heeft twee paginas.
goeie !
Hallo,
Het is na een lange tijd dan toch gelukt.
De vl-vbarun lijn is weg gehaald
(vl-vbarun "moduleafbeeldingen.toond1000k")
En de deze zijn in de plaats gekomen.
(setq applic (vlax-get-acad-object))
(vla-eval applic "d1000k.show")
Bedankt voor jullie hulp
mvg
Tom
Weet iemand het commando om via de lispfile de frm dialoog terug van het scherm te laten verdwijnen ?
Achter mijn OK knop zit het volgende:
Private Sub ok_Click()
thisdrawing.SetVariable "UserI1", 1
End Sub
in mijn lisp file staat het volgende:
(defun goto1000k ()
(setq applic (vlax-get-acad-object))
(vla-eval applic "d1000k.show")
(if (= (getvar "USERI1") 1)
(?????????????????)
)
)