TC官方合作论坛

标题: 一句话新闻 [打印本页]

作者: dongyijun1979    时间: 2013-7-3 11:02
标题: 一句话新闻
放在空间名和功能名之间的这句创建插件对象的代码     dm=com("dm.dll")     究竟是什么时候被执行的啊  ? 是在创建全局变量的时候和其他的全局变量一起被创建的吗?  如果真是这样的话,那当时我放在初始化函数中注册插件的代码help.regdll(...)应当先于它执行了啊?既然help.regdll(...)都已执行了,怎么在regdll函数执行后还能创建全局变量呢?我记得全局变量是在程序运行一开始就已创建完毕的啊。


不知道我把问题描述清楚了没有?

作者: 187144831    时间: 2013-7-3 11:26
  1. 空间 aa
  2. dm=com("dm.dmsoft")
  3. 功能 开始_点击()
  4.     辅助.消息框(dm.ver())
  5. 功能结束
  6. //退出按钮_点击操作
  7. 功能 退出_点击()
  8.    
  9.     辅助.退出()
  10. 功能结束
  11. 功能 初始化()
  12. 辅助.注册插件("rc:dm.dll",真)
  13. 功能结束
  14. 空间结束
复制代码

dm=com("dm.dmsoft")  这句初始化之前就已经执行了
如果电脑上没有注册过插件  那么第一次打开的时候
顺序是 创建对象  然后注册插件  这样顺序就错了
因为插件还没被注册 创建对象当然就失败了 单击开始后就弹出错误信息
如果 不是多开的话 你可以这样写
  1. 空间 aa
  2. dm
  3. 功能 开始_点击()
  4.     辅助.消息框(dm.ver())
  5. 功能结束
  6. //退出按钮_点击操作
  7. 功能 退出_点击()
  8.    
  9.     辅助.退出()
  10. 功能结束
  11. 功能 初始化()
  12. 辅助.注册插件("rc:dm.dll",真)
  13. dm=com("dm.dmsoft")
  14. 功能结束
  15. 空间结束
复制代码
能明白吧?
作者: 1102509486    时间: 2013-7-3 11:28
你可以下断点进行调试 看哪个断点先被断下    代码错误  正确代码dm=com("dm.dmsoft")
作者: dongyijun1979    时间: 2013-7-3 11:45
首先感谢楼上两位嘉宾。浅灰色,我明白你意思了,讲解的很透彻。
作者: 187144831    时间: 2013-7-3 17:52
回复 4楼dongyijun1979的帖子

采纳




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1