以文本方式查看主题

-  搭建论坛  (http://bbs.diylsoft.com:8118/starforum/index.asp)
--  用户咨询  (http://bbs.diylsoft.com:8118/starforum/list.asp?boardid=4)
----  执行文件构件的问题  (http://bbs.diylsoft.com:8118/starforum/dispbbs.asp?boardid=4&id=8323)

--  作者:志艺风云
--  发布时间:2007-6-13 1:05:04
--  执行文件构件的问题

主程序A 子程序B\\C\\D

在主程序A执行事件,如点击按钮,能否执行子程序如B或C中的方法或事件?
在主程序中执行B和C等子程序只能为 追加执行(我要能同时运行B和C等子程序) 同一个子程序怎样才能只执行一个,如我已执行了B跟着再执行C,我想再执行回B,那么就会执行了两个B了,应该怎么样才行?
我执行了几个子程序,为什么我 覆盖追加执行 程序C,只关了一个最后执行的子程序?(实际上我是想在主程序中执行一个方法就关闭所有子程序)


--  作者:FSJM
--  发布时间:2007-6-14 15:00:34
--  
目前已经增加了一个“卸载所有子项目”的方法,等待下次升级。
--  作者:志艺风云
--  发布时间:2007-6-15 2:21:51
--  

第一个问题有没有办法啊,或会不会改进,如果没计划的话,那我就只能设计成一个程序了,不敢把项目分开来设计了

第二个问题本来也不难的,但 应用项目控制 构件有问题,下载我的例子看看吧,写明BUG建议了

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:


--  作者:志艺风云
--  发布时间:2007-6-15 2:31:25
--  

再给个第一问题的建议吧

把执行文件构件分开成普通执行文件构件和星项目的执行文件构件,我觉得本来也应该的

在星的执行文件构件中加入 传递事件功能,当然并不是再运行一次子项目,而是激活子项目,子项目被激活则取得传达递事件能力,再执行事件.当然也可做成一个构件


--  作者:FSJM
--  发布时间:2007-6-15 7:49:32
--  

第一个,目前不可以;

第二个,子项目的加载,全部使用“覆盖追加执行”就可以了。


--  作者:FSJM
--  发布时间:2007-6-15 15:57:03
--  

项目实例 控制 BUG 已经修正,等待新的升级。


--  作者:志艺风云
--  发布时间:2007-6-15 21:25:16
--  
以下是引用FSJM在2007-6-15 7:49:32的发言:

第一个,目前不可以;

第二个,子项目的加载,全部使用“覆盖追加执行”就可以了。

第二个,我不是说要使用 追加执行吗,因为我要同时运行多个子项目,我想的是只能运行一个相同的项目实例

建议:应该改进实例提示功能,应该增加直接设置 是 否 弹出 选项的功能,如我先设置了 是 那么就不会提示,而是直接打开,先设置 否 那么就会提示实例已经运行,先设置了 弹出 那么就会退出新实例并显示出第一个实例

如果能改成这样那么这问题就能直接解决,因为只需设置成 弹出 就行,这个就是很多人问的怎样才不能重复运行相同的程序问题,同时第一个问题也能解决了

如何解决第一第问题:只需 应用项目控制 构件增加一个事件 项目被弹出 就行,先在主项目中改变 公用数据 ,子项目在发生 项目被弹出 事件时,读取子项目中的 公用数据 并判断公用数据后就能执行先设定好的方法或事件了

更好的第一个问题解决方法,
1、增加一个 参数组 构件,它是 公用数据和条件选择 相结合的构件,有公用数据的公用性和有条件选择的方法和事件,其实不用条件选择的方法更好
2、增加一个 执行文件构件的属性和一个方法 属性为 参数组 方法为 激活子程序并传递参数组给子项目(有公用数据能力,所以并不需传递参数组给子项目方法),这个就是为什么我说要把执行构件分成普通执行构件和星项目执行构件
3、增加一个 应用项目控制 的事件 项目被激活 ,发生 项目被激活 事件时执行 参数组

参数组构件的组成
属性:多个条件或变量或定量,每项只有 真或假或无(如默认为假就不需无了,用真或假的好处是不用再使用条件选择构件)
方法:判断并执行事件
事件:对应对个条件
如:
设置条件1为 真,执行 判断并执行事件 方法,那么就会执行事件中的事件1
设置条件2为 假,执行 判断并执行事件 方法,那么不会执行事件中的事件2
设置条件3为 无,执行 判断并执行事件 方法,那么不会判断事件中的事件3,即不管 条件3
设置条件4为 真,执行 判断并执行事件 方法,那么就会执行事件中的事件4

连接已来用就是 1、在主程序中设置 参数组 构件,执行事件改变 参数组 的属性,2、执行 激活子项目 方法,3、子项目设置 参数组 构件的事件,子项目发生 项目被激活 事件时执行 参数组 的方法



--  作者:志艺风云
--  发布时间:2007-6-15 22:46:45
--  

这个例子能做到我的第一个问题,但是一个 时间间隔为1的事件发生器不太好吧,这就是为什么说是变状的

一个BT的主程序向子程序传递事件

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:

如果我上面说的没能做到,那么在 公用数据 构件中的事件加入 变量改变 事件不太难吧。

变量A 改变 执行 变量A事件
变量B 改变 执行 变量B事件
变量C 改变 执行 变量C事件
又简单又好用,只是不知会不会增加内存使用量
--  作者:志艺风云
--  发布时间:2007-6-18 13:27:39
--  
请快点回复啊,能不能做到,或有没有计划做
如不能,我就设计成一个主程序了,急