weekendor 发表于 2005-8-15 16:23:00

救急:能把.dvb文件转化为.dll文件吗??

<P>我在AutoCAD中编写好了一个.dvb文件,现在有个难题要救急求教:能否把.dvb文件转化为.dll文件吗?转化后的.dll文件怎样应用到AutoCAD中呢?</P>
<P>急切求助!望各位老师、高手指点, 谢谢!</P>

mycad 发表于 2005-8-15 18:59:00

<P>问的好啊,我也想请教此问题</P>

mccad 发表于 2005-8-15 22:10:00

问得好吗?<BR>DVB文件是VBA程序,如果想把它转成DLL,则需要在VBA导出成文件,然后在VB中导入。而VB中创建的是控件,这样才能变成DLL。而DLL又不能直接在ACAD中使用,又需要通过VBA来调用,也就是说需要用DVB文件来调用。

mikewolf2k 发表于 2005-8-16 19:39:00

老大,也可以通过lisp调用dll文件,难道你忘了?

sieben 发表于 2005-8-17 15:25:00

<P>mccad 老大:我在这请教你一个问题,和DLL相关的</P>
<P>Sub Line_Equation(ByRef LParam() As Double, ByVal p1 As Variant, ByVal p2 As Variant)<BR>&nbsp;&nbsp;&nbsp; LParam(0) = p2(1) - p1(1)<BR>&nbsp;&nbsp;&nbsp; LParam(1) = p1(0) - p2(0)<BR>&nbsp;&nbsp;&nbsp; LParam(2) = -1# * LParam(0) * p1(0) - LParam(1) * p1(1)<BR>End Sub</P>
<P>上面是VB代码,我生成DLL文件,然后在VIsual Lisp 中插入</P>
<P>代码如下</P>
<P>(setq dllfile (findfile "d:\\vb\\dll\\linecircle.dll"))<BR>(vlax-import-type-library :tlb-filename dllfile :methods-prefix "LCM-"<BR>&nbsp; :Properties-prefix "LCM-"&nbsp; :constants-prefix "LCM-" )<BR>(setq lcobj (vlax-get-or-create-object "linecircle.calculate"))</P>
<P>(setq arr1 (vlax-make-safearray vlax-vbvariant '(0 . 1)))<BR>(vlax-safearray-fill arr1 '(1.0 1.0 ))<BR>(setq arr2 (vlax-make-safearray vlax-vbvariant '(0 . 1)))<BR>(vlax-safearray-fill arr2 '(2.0 3.0 ))<BR>(vlax-invoke-method&nbsp; lcobj&nbsp; "Line_Equation"&nbsp; 'line1 arr1&nbsp; arr2)</P>
<P>错误如下:</P>
<P>error: Automation Error. 下标越界</P>
<P>其它在VB中没有用到ByRef 的可正常使用</P>
<P>请问是什么问题啊?怎么解决?</P>

my_computer 发表于 2005-8-18 08:12:00

mikewolf2k发表于2005-8-16 19:39:00static/image/common/back.gif老大,也可以通过lisp调用dll文件,难道你忘了?


<P><BR>好方法,不知道稳定性如何?</P>
<P>这样做程序就更安全了.</P>

my_computer 发表于 2005-8-18 08:16:00

mccad发表于2005-8-15 22:10:00static/image/common/back.gif问得好吗?DVB文件是VBA程序,如果想把它转成DLL,则需要在VBA导出成文件,然后在VB中导入。而VB中创建的是控件,这样才能变成DLL。而DLL又不能直接在ACAD中...


<P><BR>vb 程序可以编译成Dll,并直接在VBA中引用!!!</P>
<P>而且在Vba中引用的方法很好,这样可以将大部分的公用程序做成固定的子程序,在不同的程序中引用.</P>

mikewolf2k 发表于 2005-8-18 19:58:00

my_computer发表于2005-8-18 8:12:00static/image/common/back.gif
我只作过一个,效果挺好,好像没有装vba的机子也可以用,并且可以将lsp文件放在acad.lsp中,自动运行。

neteasy 发表于 2005-8-18 20:32:00

问一个菜问题,如何把VB程序编译成DLL文件?

dsq2006 发表于 2009-10-23 12:05:00

将 VB 标准模块的函数转换成DLL

<p>VB、VBa不但可以引用 AcrtiveX DLL(需要注册才能使用),而且可以使用API格式的DLL(不需注册,与可执行Exe,或者DVB可找到即可)。前者是近期VB开发的理念,后者则是传统的方式。API格式DLL形同一个函数集库,声明后可动态加载调用。</p><p>Vb 的编译链接机制,不允许用户获取*.obj手工链接,需要借助工具软件。</p><p>推荐一个 VB Make Dll Link 工具:请到 CSDN 网站搜索。&nbsp;本月上传的。</p>
页: [1]
查看完整版本: 救急:能把.dvb文件转化为.dll文件吗??