找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1347|回复: 11

[求助] 【已解决】请老师帮忙看看,为什么不能给窗体里的控件赋值

[复制链接]
发表于 2018-5-7 23:28:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 wdmzslw 于 2018-6-22 00:00 编辑

我在一个odcl文件里添加了2个窗体,第二个窗体能显示,但是不能给窗体里的文本框赋值,显示出错信息,最近忙,好长时间没学习了,有点荒废了,还请老师指点一下,如图所示
搜狗截图20180507232912.png
搜狗截图20180507232931.png
搜狗截图20180507233042.png
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 20个

财富等级: 恭喜发财

发表于 2018-5-7 23:34:21 | 显示全部楼层
把你的ODCL保存成LISP,代码贴上来。
把你的LSP处理的代码也贴上来。

肯定是你的代码有问题啊,看图说明不了啊。

点评

[*] [*];;主程序 [*](defun c:aa () [*] (if (dcl-Project-Load "main" t) [*] (progn [*] (if (dcl-Form-IsActive main) [*] (princ "\n已经运行!") [*] (if (dcl-Form-Show main) [*] (p  详情 回复 发表于 2018-5-8 14:20
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-8 14:20:13 | 显示全部楼层

请老师看看

本帖最后由 wdmzslw 于 2018-5-8 14:29 编辑
marting 发表于 2018-5-7 23:34
把你的ODCL保存成LISP,代码贴上来。
把你的LSP处理的代码也贴上来。
请老师看看

abc.lsp

1.38 KB, 下载次数: 0, 下载积分: D豆 -1 , 活跃度 1

abc.odcl

57.34 KB, 下载次数: 0, 下载积分: D豆 -1 , 活跃度 1

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-5-8 14:24:42 | 显示全部楼层
你什么时候写的,是不是很久前低版本OPENDCL能用,现在高版本用不了? 如果是,你在OPENDCL STUDIO里面,重新拷贝下回调函数替换下。

点评

应该不是这个问题,我的main窗体好用,但是在main窗体里点击按钮调用scl窗体就不好用了,scl窗体能显示出来,但是scl窗体里的文本框不能显示文本  详情 回复 发表于 2018-5-8 14:46
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-8 14:46:18 | 显示全部楼层
newer 发表于 2018-5-8 14:24
你什么时候写的,是不是很久前低版本OPENDCL能用,现在高版本用不了? 如果是,你在OPENDCL STUDIO里面,重 ...

应该不是这个问题,我的main窗体好用,但是在main窗体里点击按钮调用scl窗体就不好用了,scl窗体能显示出来,但是scl窗体里的文本框不能显示文本

abc.lsp

1.38 KB, 下载次数: 4, 下载积分: D豆 -1 , 活跃度 1

abc.odcl

57.34 KB, 下载次数: 2, 下载积分: D豆 -1 , 活跃度 1

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2018-5-8 15:39:45 | 显示全部楼层
wdmzslw 发表于 2018-5-8 14:46
应该不是这个问题,我的main窗体好用,但是在main窗体里点击按钮调用scl窗体就不好用了,scl窗体能显示出 ...

对话框要先SHOW出来,你才能setcaption

点评

[*] (dcl-Form-Show fm-scl ) [*] (dcl-Control-SetCaption SCLlbl1 (rtos dist 2 3)) [*]改成这样的了,显示窗体了,但是标签文字设置不成功  详情 回复 发表于 2018-5-8 16:15
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2018-5-8 16:11:29 | 显示全部楼层
本帖最后由 marting 于 2018-5-8 16:12 编辑
wdmzslw 发表于 2018-5-8 14:46
应该不是这个问题,我的main窗体好用,但是在main窗体里点击按钮调用scl窗体就不好用了,scl窗体能显示出 ...

试试

  1. ;;主程序
  2. (defun c:aa ()
  3.   (if (dcl-Project-Load "abc" t)
  4.     (progn (if (dcl-Form-IsActive main)
  5.              (princ "\n已经运行!")
  6.              (if (dcl-Form-Show main)
  7.                (princ "\n启动成功")
  8.              )
  9.            )                            ;if
  10.     )
  11.   )
  12.   (princ)
  13. )
  14. ;;;窗体初始化
  15. (defun c:abc#OnInitialize (/)
  16.   (dcl-ComboBox-Clear CbBx3)
  17.   (setq scale (list "1"))
  18.   (dcl-ComboBox-AddList CbBx3 scale)
  19.   (dcl-Control-SetText CbBx3 "1")
  20.   (princ)
  21. )
  22. ;;;设置比例因数
  23. (defun c:TxtBttn7#OnClicked (/)
  24.   (dcl-sendstring "(setscale)\n")
  25.   (princ)
  26. )
  27. ;;;设置比例因数---函数
  28. (defun setscale (/)
  29.   (setvar "cmdecho" 0)
  30.   (setq OldOS (getvar "osmode"))
  31.   (setvar "osmode" 431)
  32.   (setq pt1 (getpoint "\n>>>测量图上线段长度,点取第一点:"))
  33.   (setq pt2 (getpoint pt1 "\n>>>点取图上第二点:"))
  34.   (entmake (list '(0 . "LINE") (cons 10 pt1) (cons 11 pt2)))
  35.   (setq dist (distance pt1 pt2))
  36.   (dcl-Form-IsActive scl)
  37.   (dcl-Form-Show scl)
  38.   (princ)
  39. )
  40. (defun c:SCLbtn1#OnClicked (/)
  41.   (setq Rdist (distof (dcl-Control-GetText SCLbx1)))
  42.   (dcl-form-close scl)
  43.   (setq scaleV (rtos (/ Rdist dist) 2 3))
  44.   (princ (strcat "设定比例因数为:" scaleV))
  45.   (dcl-Control-SetText CbBx3 scaleV)
  46.   (setvar "osmode" OldOS)
  47.   (setvar "cmdecho" 1)
  48. )
  49. ;;说明:设置图纸比例因数窗体初始化
  50. (defun c:scl#OnInitialize (/)
  51.   (dcl-Control-SetCaption SCLlbl1 (rtos dist 2 3))
  52.   (dcl-Control-SetFocus SCLbx1)
  53. )



把ODCL拷贝回去,点确定后,设置到停靠窗口里面。

请点击此处下载

查看状态:需购买或无权限

您的用户组是:游客

文件名称:abc.odcl 
下载次数:8  文件大小:57.36 KB 
下载权限: 不限 以上  [免费赚D豆]


点评

老师,自行语句([/backcolor]dcl-Control-SetFocus SCLbx1[/backcolor])后,为什么SCLbx1文本框没有处于输入状态,而确认按钮缺失处于激活状态?[/backcolor]  详情 回复 发表于 2018-5-8 19:15
太好了,可以用了,谢谢老师。  详情 回复 发表于 2018-5-8 17:46
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-8 16:15:19 | 显示全部楼层
marting 发表于 2018-5-8 15:39
对话框要先SHOW出来,你才能setcaption

  •   (dcl-Form-Show fm-scl )
  •   (dcl-Control-SetCaption SCLlbl1 (rtos dist 2 3))
  • 改成这样的了,显示窗体了,但是标签文字设置不成功

搜狗截图20180508161842.png

点评

把7楼的代码和ODCL拷贝回去试试。  详情 回复 发表于 2018-5-8 16:22
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-5-8 16:22:39 | 显示全部楼层
wdmzslw 发表于 2018-5-8 16:15
  •   (dcl-Form-Show fm-scl )
  •   (dcl-Control-SetCaption SCLlbl1 (rtos dist 2 3))
  • 改成这样 ...

  • 把7楼的代码和ODCL拷贝回去试试。
    论坛插件加载方法
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
    如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
    回复 支持 反对

    使用道具 举报

     楼主| 发表于 2018-5-8 17:46:45 | 显示全部楼层

    太好了,可以用了,谢谢老师。
    论坛插件加载方法
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
    如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
    回复 支持 反对

    使用道具 举报

     楼主| 发表于 2018-5-8 19:15:52 | 显示全部楼层

    老师,自行语句(
    dcl-Control-SetFocus SCLbx1
    )后,为什么SCLbx1文本框没有处于输入状态,而确认按钮缺失处于激活状态?

    点评

    搞明白了,原来是tab未停留  详情 回复 发表于 2018-5-8 19:46
    论坛插件加载方法
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
    如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
    回复 支持 反对

    使用道具 举报

     楼主| 发表于 2018-5-8 19:46:07 | 显示全部楼层
    wdmzslw 发表于 2018-5-8 19:15
    老师,自行语句(dcl-Control-SetFocus SCLbx1)后,为什么SCLbx1文本框没有处于 ...

    搞明白了,原来是tab未停留
    论坛插件加载方法
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
    如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

    GMT+8, 2024-11-17 20:44 , Processed in 0.213660 second(s), 58 queries , Gzip On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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