brainstorm 发表于 2011-1-24 13:50:23

求助 opendcl不兼容问题

请教一个问题 我用cad2006+理正建筑v4.1 调用opendcl非模态对话框 一调用就非法中断 调用opendcl下面的modeless.lsp也是一样而在纯cad下没有问题,能帮助分析一下原因么

另外odcl怎样打包到vlx文件中

谢谢各位指点

cjs 发表于 2011-3-29 11:27:12

参看\OpenDCL Studio\ENU\Samples\ 下找distsample*.lsp 样例文件
   
The DistSample*.* files are lisp source code and OpenDCL files to
    demonstrate how to embed an OpenDCL project (saved as a .odcl.lsp
    file) into a vlx file, and then how to use said resource as one
    might normally use a regular OpenDCL project file.

brainstorm 发表于 2011-4-3 21:56:57

cjs 发表于 2011-3-29 11:27 static/image/common/back.gif
参看\OpenDCL Studio\ENU\Samples\ 下找distsample*.lsp 样例文件

我是过了,还是不行,必须把lsp改为txt文件才可以

jh1005 发表于 2011-4-4 22:06:33

本帖最后由 jh1005 于 2011-4-4 22:11 编辑

例如:lsp文件为test.lsp,odcl对话框文件为qq.odcl,另存为qq.odcl.lsp,修改工程文件test.prv
(PRV-DEF (:target . "TEST.VLX")
         (:active-x . T)
         (:separate-namespace)
         (:protected . T)
         (:load-file-list (:lsp "test.lsp") )
         (:require-file-list( :txt "qq.odcl.lsp"))
         (:ob-directory)
         (:tmp-directory)
         (:optimization . st)
)

用工程文件test.prv重新打包

jh1005 发表于 2011-4-4 22:09:38

调用对话框:
(Dcl_Project_Import (vl-get-resource "qq.odcl"))
(dcl_form_show qq_xxxx)

cjs 发表于 2011-4-6 11:32:31

你可能没看清楚,那还需要odcl文件,打开qq.odcl.lsp,复制其中的内容到你写的lsp文件中,直接编译lsp文件就可以了。如下:
(defun _Load_ODCL_Stream (password alias / project rtype)
(setq        project
       '复制内容
) ;_ 结束setq
    ((dcl_project_import project password alias))
) ;_ 结束cond
) ;_ 结束defun
主程序:
(defun
...
(_Load_ODCL_Stream nil nil)
...
)

jh1005 发表于 2011-4-7 22:20:39

3楼方法是把qq.odcl.lsp也打包进vlx里了,就成了txt,可以用vl-get-resource读取。
调用对话框用4楼的语句就可以,打包了就无需odcl文件。
(个人不喜欢把对话框打包进去,因为调出对话框会慢一点。)

brainstorm 发表于 2011-4-8 00:09:22

本帖最后由 brainstorm 于 2011-4-8 00:09 编辑

感谢大家帮助,我用的是这种
可以用vl-get-resource读取。
调用对话框用4楼的语句就可以,打包了就无需odcl文件

brainstorm 发表于 2011-4-8 00:18:04

本帖最后由 brainstorm 于 2011-4-8 00:20 编辑

回复 brainstorm 的帖子

再请教一个问题
假定使用非模态对话框,我现在正在屏幕上执行 (getpoint),这时鼠标回到对话框上,希望终止当前(getpoint),而激活另一段lisp代码,如何实现,我现在存在的问题是,提示 不能重复进入lisp

革天明 发表于 2012-8-22 10:23:40

brainstorm 发表于 2011-4-8 00:09 static/image/common/back.gif
感谢大家帮助,我用的是这种
可以用vl-get-resource读取。
调用对话框用4楼的语句就可以,打包了就无需od ...

请问vl-get-resource函数支持的最长字符串是多少?
如果我存入的TXT文件有100万个字符可以支持吗?目前我用不到那么长的TXT,但我想知道允许的最大长度。谢谢!
页: [1]
查看完整版本: 求助 opendcl不兼容问题