CADsite forum

AutoCAD => VBA => Topic gestart door: Tom op vr 08 04 2005, 08:03:35

Titel: VBA form oproepen via DCL dialoog
Bericht door: Tom op vr 08 04 2005, 08:03:35
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
Titel: VBA form oproepen via DCL dialoog
Bericht door: Joop op vr 08 04 2005, 08:23:50
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.
Titel: VBA form oproepen via DCL dialoog
Bericht door: Tom op vr 08 04 2005, 08:48:35
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")
   )
Titel: VBA form oproepen via DCL dialoog
Bericht door: Joop op vr 08 04 2005, 09:14:41
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)"
)
Titel: VBA form oproepen via DCL dialoog
Bericht door: Tom op vr 08 04 2005, 09:29:26
Dit is het laatste wat op de commandoregel komt en dan kan ik niets meer doen in AutoCAD, dan loopt hij volledig vast.
_.-VBARUN
Titel: VBA form oproepen via DCL dialoog
Bericht door: bart op vr 08 04 2005, 09:54:09
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.
Titel: VBA form oproepen via DCL dialoog
Bericht door: Tom op vr 08 04 2005, 10:02:35
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.
Titel: VBA form oproepen via DCL dialoog
Bericht door: Joop op vr 08 04 2005, 10:09:50
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 AutoLISP
En 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.
Titel: VBA form oproepen via DCL dialoog
Bericht door: Joop op vr 08 04 2005, 10:14:19
Kijk ook eens naar het volgende document

http://www.afralisp.com/lisp/setup1.htm

PS
het document heeft twee paginas.
Titel: VBA form oproepen via DCL dialoog
Bericht door: cadtools@gmail.com op vr 08 04 2005, 10:25:15
goeie !
Titel: VBA form oproepen via DCL dialoog
Bericht door: Tom op vr 08 04 2005, 10:33:29
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
Titel: VBA form oproepen via DCL dialoog
Bericht door: Tom op vr 08 04 2005, 12:34:27
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)
   (?????????????????)
     )
   )