明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖

[函数] 最近写的一个dcl驱动函数库,求批评

[复制链接]
 楼主| 发表于 2015-11-2 09:21:51 | 显示全部楼层
mmmmmm 发表于 2015-11-1 13:10
我说的意思不是action属性,而是Action_tile对应的函数,对单一控件,肯定一般的过程是先set_tile赋值,然 ...

谢谢您的意见。。。
关于定义控件,我看了您写的代码后感觉和我写的这个没有本质的区别,都是需要一个控件名和控件的属性-值表作为参数,在用户角度讲,定义控件需要写代码量是差不多的,好处是您写的代码里用一些缩写,但是这些缩写又需要有学习成本。。。。。
关于控件组这个,开始我还真考虑过采用类似九宫格这种,类似一些其他语言比如java,c++的qt库等那样定义布局,不过后来发现那些语言提供的布局函数 有行布局-类似lisp里的row,列布局-类似lisp里的column,网格布局(grid)这个就是没有类似的。当时确实想写个这样的布局,我哪个格有控件我就在哪个格显示,没有的就nil。后来在写代码的过程中发现,想实现这种就需要一种弹性机制,要大量用space空白来填充对话框,就偷懒了。。。
而您写的这个示例代码看,是把布局固定死了,灵活性损失了。
谢谢您提供的思路。。。
 楼主| 发表于 2015-11-2 09:23:52 | 显示全部楼层
shenhung 发表于 2015-11-2 00:33
弱弱的問下..這樣寫DCL. 不知道有什麼特別好處.~

好处是你不用管dcl了,你只要定义控件,定义控件的动作以及回调函数,就可以看见漂亮的对话框了。
而且全是用lisp语法写。。
唯一的学习成本就是知道dcl各控件的属性是什么,以及容器类的控件是什么,就可以了
 楼主| 发表于 2015-11-2 09:24:46 | 显示全部楼层
xiaolong1487 发表于 2015-11-2 02:57
结尾没有删除临时DCL文件!

是的,谢谢提醒
发表于 2015-11-2 13:49:36 | 显示全部楼层
还有待进一步优化和完善
 楼主| 发表于 2015-11-2 14:34:21 | 显示全部楼层
xyp1964 发表于 2015-11-2 13:49
还有待进一步优化和完善

院长给点意见啊。。
目前我只实现了我的想法,所以下一步的优化和完善现在还没有完整的思路。。
前面mmmm兄给的意见很好,我也在思考怎么结合的问题。。
院长还请给点意见,谢谢了

点评

好一个EDCL  发表于 2015-11-3 09:01
我有自己的方式,Edcl  发表于 2015-11-2 15:55
发表于 2015-11-2 16:00:08 | 显示全部楼层
MARK一下,感觉会用到
发表于 2015-11-6 10:34:34 | 显示全部楼层
山人就是画坑的 发表于 2015-11-2 09:21
谢谢您的意见。。。
关于定义控件,我看了您写的代码后感觉和我写的这个没有本质的区别,都是需要一个控 ...

其实在我看来,除非a)DCL是不停的动态变化的,b)DCL代码比较简单,c)想把DCL代码藏起来,否则其实使用代码生成DCL是有些自己给自己制造麻烦并浪费时间和精力的。而DCL驱动的重点应该在驱动DCL而不是生成DCL。对于比较复杂结构的DCL,使用LISP代码来生成是比较蛋疼的,也会浪费比直接使用编辑器写DCL更多的时间,这对于开发很不友好,不应该浪费大量的时间精力DEBUG代码只为生成DCL,这些时间应该放在更好地驱动DCL及后继的操控执行上。目前网上有现成的可视化DCL生成工具,已经能够比较快速的生成DCL文件,应该加以利用。不要指望一个插件工具能什么都干,那样要么要有大量的投入,要么什么也干不好,兼容性也差。推广起来的结果就可想而知,如果没有人用,开发出来的工具也没啥价值可言。毕竟快速上手有赖于简单。
 楼主| 发表于 2015-11-9 14:41:20 | 显示全部楼层
mmmmmm 发表于 2015-11-6 10:34
其实在我看来,除非a)DCL是不停的动态变化的,b)DCL代码比较简单,c)想把DCL代码藏起来,否则其实使用 ...

兄台说的很有道理,我这几天也在结合您的意见还有院长的伪代码,在改造这个驱动部分。。。
这几天下来的感受就是给自己找麻烦,这个工具呢驱动部分确实很难写到相对完美,毕竟lisp把dcl的运行模式给固定死了,想要实现类似odcl的非模态就很困难很困难,而模态对话框说实话用我现在的方式写的优势不大。。
所以这个工具也基本是到此为止了,自己用用算了。。
就当是练手了,再次感谢兄台的意见。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-21 06:20 , Processed in 0.152303 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表