使用TIMER的纳闷(已调用子窗体,本表单Grid 自动刷新出错了)

落沙惜语 2009-09-16 06:14:16
我做了个表单(FORM1),有GRID1,还有TIMER1。。。
在FORM1有INIT()
WITH THISFORM.GRID1.COLUMN2
.ADDOBJECT('add1','calledit')
.CURRENTCONTROL='add1'
.add1.VISIBLE=.T.
ENDWITH

CALLEDIT 是COMMAND的类
通过ADD1 我调用了表单(FORM2)
当我在FORM2操作时
FORM1.TIMER1.TIMER事件给Grid 自动刷新
THISFORM.INIT()
错误内容
A MEMBER OBJECT WITH THISNAME ALREADY EXISTS

请问如何解决TIMER 有没有可以设置,用户在操作或调用新的表单时就别刷新??????
...全文
128 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
handmars 2009-09-29
  • 打赏
  • 举报
回复
楼主把问题说清楚点
river_a 2009-09-28
  • 打赏
  • 举报
回复
[Quote=引用楼主 dominicwang 的回复:]
我做了个表单(FORM1),有GRID1,还有TIMER1。。。
在FORM1有INIT()
  WITH THISFORM.GRID1.COLUMN2
    .ADDOBJECT('add1','calledit')
    .CURRENTCONTROL='add1' 
    .add1.VISIBLE=.T.
  ENDWITH

CALLEDIT 是COMMAND的类
通过ADD1 我调用了表单(FORM2)
当我在FORM2操作时
  FORM1.TIMER1.TIMER事件给Grid 自动刷新
        THISFORM.INIT()
错误内容
A MEMBER OBJECT WITH THISNAME ALREADY EXISTS

请问如何解决TIMER 有没有可以设置,用户在操作或调用新的表单时就别刷新??????
[/Quote]
你搞什么啊?
在init 里给grid.column2 加了一个object ,
timer 反复执行init ,就等于grid.column2反复添加相同的object ,

即使object 名字不同,也一会儿就把你的程序搞死了


十豆三 2009-09-26
  • 打赏
  • 举报
回复
主要条理没有说清楚。需要再详细说明一下过程及相关代码。
落沙惜语 2009-09-18
  • 打赏
  • 举报
回复
D
落沙惜语 2009-09-18
  • 打赏
  • 举报
回复
谁能帮帮我呀,要分还可以加
ACMAIN_CHM 2009-09-17
  • 打赏
  • 举报
回复
[Quote]问题是我看这代码,只要 timer1 的定时一到,总是要调用 thisform.init ?跟点不点 add1 打开 form2,以及楼主想“调用新的表单时就别刷新”似乎没什么关系[/Quote]

估计楼主仅是想实现刷新
WWWWA 2009-09-17
  • 打赏
  • 举报
回复
init 中代码是什么?
落沙惜语 2009-09-17
  • 打赏
  • 举报
回复
点 add1 后正开着 form2 啊,所以TIMER()无法删除 'add1'

FORM1.INIT()如下:

IF TYPE('THISFORM.GRID1.COLUMN2.add1')= 'O'
*MESSAGEBOX( '此对象存在 ')
THISFORM.GRID1.COLUMN2.REMOVEOBJECT('add1')
ENDIF

SELECT * FROM USER INTO CURSOR SQLUSER

THISFORM.GRID1.RECORDSOURCE=''
THISFORM.GRID1.RECORDSOURCE='sqluser'
THISFORM.GRID1.ColumnCount=6
THISFORM.GRID1.HEADERHEIGHT=22
THISFORM.GRID1.ROWHEIGHT=20
THISFORM.GRID1.LOCKCOLUMNS=3

*THISFORM.GRID1.COLUMN1.CONTROLSOURCE='allt(sqluser.th)'
*THISFORM.GRID1.COLUMN1.WIDTH=25
*tHISFORM.GRID1.COLUMN1.BACKCOLOR=RGB(236,233,216)
*THISFORM.GRID1.COLUMN1.HEADER1.FONTSIZE=9
*THISFORM.GRID1.COLUMN1.HEADER1.ALIGNMENT=2
*THISFORM.GRID1.COLUMN1.HEADER1.CAPTION='区号'

THISFORM.GRID1.COLUMN1.CONTROLSOURCE='allt(sqluser.zh)'
THISFORM.GRID1.COLUMN1.WIDTH=25
THISFORM.GRID1.COLUMN1.BACKCOLOR=RGB(236,233,216)
THISFORM.GRID1.COLUMN1.HEADER1.FONTSIZE=9
THISFORM.GRID1.COLUMN1.HEADER1.ALIGNMENT=2
THISFORM.GRID1.COLUMN1.HEADER1.CAPTION='座号'

THISFORM.GRID1.COLUMN2.CONTROLSOURCE='sqluser.OPTION'
THISFORM.GRID1.COLUMN2.WIDTH=26
THISFORM.GRID1.COLUMN2.HEADER1.FONTSIZE=9
THISFORM.GRID1.COLUMN2.HEADER1.ALIGNMENT=2
THISFORM.GRID1.COLUMN2.HEADER1.CAPTION='添加'

THISFORM.GRID1.COLUMN3.CONTROLSOURCE="RIGHT('000000000'+LTRIM(STR(SQLUSER.CALLID,9)),9)"
THISFORM.GRID1.COLUMN3.WIDTH=72
THISFORM.GRID1.COLUMN3.BACKCOLOR=RGB(236,233,216)
THISFORM.GRID1.COLUMN3.HEADER1.FONTSIZE=9
THISFORM.GRID1.COLUMN3.HEADER1.ALIGNMENT=2
THISFORM.GRID1.COLUMN3.HEADER1.CAPTION='流水号'

THISFORM.GRID1.COLUMN4.CONTROLSOURCE='sqluser.MUNAME'
THISFORM.GRID1.COLUMN4.WIDTH=100
THISFORM.GRID1.COLUMN4.HEADER1.FONTSIZE=9
THISFORM.GRID1.COLUMN4.HEADER1.ALIGNMENT=2
THISFORM.GRID1.COLUMN4.HEADER1.CAPTION='项目'
THISFORM.GRID1.COLUMN4.ALIGNMENT=3

THISFORM.GRID1.COLUMN5.CONTROLSOURCE='sqluser.MUUNIT'
THISFORM.GRID1.COLUMN5.WIDTH=25
THISFORM.GRID1.COLUMN5.HEADER1.FONTSIZE=9
THISFORM.GRID1.COLUMN5.HEADER1.ALIGNMENT=2
THISFORM.GRID1.COLUMN5.HEADER1.CAPTION='单位'
THISFORM.GRID1.COLUMN5.ALIGNMENT=3

THISFORM.GRID1.COLUMN6.CONTROLSOURCE='sqluser.PRICE'
THISFORM.GRID1.COLUMN6.ALIGNMENT=3
THISFORM.GRID1.COLUMN6.WIDTH=50
THISFORM.GRID1.COLUMN6.HEADER1.FONTSIZE=9
THISFORM.GRID1.COLUMN6.HEADER1.ALIGNMENT=2
THISFORM.GRID1.COLUMN6.HEADER1.CAPTION='单价'
THISFORM.GRID1.COLUMN6.FORMAT='ZR'
THISFORM.GRID1.Column6.InputMask='999.9'

WITH THISFORM.GRID1.COLUMN2
.ADDOBJECT('add1','calledit')
.CURRENTCONTROL='add1'
.add1.VISIBLE=.T.
ENDWITH

THISFORM.GRID1.COLUMN2.add1.CAPTION=''
THISFORM.GRID1.COLUMN2.Sparse=.F.
THISFORM.GRID1.COLUMN2.READONLY=.F.
THISFORM.GRID1.COLUMN2.BACKCOLOR=RGB(236,233,216)
THISFORM.GRID1.REFRESH
THISFORM.GRID1.AfterRowColChange()
************
ADD1.CLICK()
do form form2.scx
都市夜猫 2009-09-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 firstxinjie 的回复:]
嘿嘿,白猫黑猫论。
[/Quote]
在 addobject 之前先用 pemstate() 或 vartype() 判断一下当然可以。
问题是我看这代码,只要 timer1 的定时一到,总是要调用 thisform.init ?跟点不点 add1 打开 form2,以及楼主想“调用新的表单时就别刷新”似乎没什么关系
firstxinjie 2009-09-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dkfdtf 的回复:]
愣是没看懂!刷新干哈要调用表单 init ?

[/Quote]

嘿嘿,白猫黑猫论。
firstxinjie 2009-09-16
  • 打赏
  • 举报
回复
[Quote=引用楼主 dominicwang 的回复:]
A MEMBER OBJECT WITH THISNAME ALREADY EXISTS
[/Quote]

同名对象已存在。



在动态添加对象前,判断一下即可。
都市夜猫 2009-09-16
  • 打赏
  • 举报
回复
愣是没看懂!刷新干哈要调用表单 init ?
代码下载地址: https://pan.quark.cn/s/a8b756c18f9a Live2D Widget English 特性 在网页中添加 Live2D 看板娘 轻量级,除 Live2D Cubism Core 外无其他运行时依赖 核心代码由 TypeScript 编写,易于集成 注:以上人物模型仅供展示之用,本仓库并不包含任何模型。 你也可以查看示例网页: 在 米米的博客 的左下角可查看效果 demo/demo.html,展现基础功能 demo/login.html,仿 NPM 的登陆界面 使用 如果你是小白,或者只需要最基础的功能,那么只用将这一行代码加入 html 页面的 或 中,即可加载看板娘: 添加代码的位置取决于你的网站的构建方式。 例如,如果你使用的是 Hexo,那么需要在主题的模版文件中添加以上代码。 对于用各种模版引擎生成的页面,修改方法类似。 如果网站启用了 PJAX,由于看板娘不必每页刷新,需要注意将该脚本放到 PJAX 刷新区域之外。 但是! 我们强烈推荐自己进行配置,让看板娘更加适合你的网站! 如果你有兴趣自己折腾的话,请看下面的详细说明。 配置 你可以对照 的源码查看可选的配置项目。 会自动加载两个文件: 和 。 会创建 函数,这就是加载看板娘的主函数。 函数接收一个 Object 类型的参数,作为看板娘的配置。 以下是配置选项: 模型仓库 本仓库中并不包含任何模型,需要单独配置模型仓库,并通过 选项进行设置。 旧版本的 函数支持 参数,这要求用户自行搭建后端,可以参考 live2d_api。 后端接口会对模型资源进行整合并动态生成 JSON 描述文件。 自 1.0 版本起,相关功能已通过前端实现,因此不再需要专门的 ,所有模型资源都可...
内容概要:本文介绍了RocketMQ消息队列在芯片行业EDA(电设计自动化)工具链协同调度系统中的实战应用。通过引入RocketMQ,实现EDA流程中各环节(如前端设计、逻辑综合、物理实现、验证仿真等)的异步解耦、任务调度与可靠通信。文章详细阐述了Topic分层设计、顺序消息保障、事务消息一致性、消费幂等性等核心技术的应用,并提供了基于Spring Boot的生产者与消费者代码实现,涵盖任务提交、顺序消费、状态管理及上下游任务自动触发机制。同时,系统集成了监控告警模块,支持队列深度监控与任务超时处理,保障大规模芯片设计项目的稳定运行。; 适合人群:具备Java开发基础、熟悉消息队列与Spring Boot框架,从事中间件开发、EDA系统开发或芯片设计流程自动化的研发人员,尤其适合有分布式系统构建经验的工程师; 使用场景及目标:①解决EDA工具链中任务强耦合、资源利用率低的问题,实现异步化、可扩展的任务调度架构;②构建高可靠、可追溯的芯片设计任务流水线,支持多项目并发、跨地域协作与自动化流程推进; 阅读建议:此资源结合实际工业场景深入讲解RocketMQ核心特性的落地实践,建议读者结合代码案例部署调试,重点关注顺序消息、事务消息与幂等处理的设计实现,并可进一步拓展至云原生与AI调度等前沿方向。

2,749

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧