TC官方合作论坛

标题: TC 对大漠的多个引用 [打印本页]

作者: xj_51love    时间: 2012-5-23 13:17
标题: TC 对大漠的多个引用
#import "dm.dmsoft" dm1
#import "dm.dmsoft" dm2
这样 是有2个大漠对象
有能能以返回数组的方式来实现吗?
#import "dm.dmsoft" dm[0]
#import "dm.dmsoft" dm[1]
这样无法通过

作者: 花开花落    时间: 2012-5-23 13:36
楼主为什么要引用两个大漠呢>
作者: xj_51love    时间: 2012-5-23 13:41
一个大漠只能控制一个游戏窗口 只有一个大漠对象 是无发在一个程序集里 做到多开 的
作者: 战地之王    时间: 2012-5-23 13:51
楼主这样的想法是错误的。
作者: tyuyan    时间: 2012-5-23 13:52
大漠多开操作不是这样写的哦!
  大漠在TC里面是可以在一个线程里面绑定一个大漠的,操作的是相互不影响的。
作者: cylhb    时间: 2012-5-23 14:07
三姐正解
不需要2个大漠对象.
你要多开操作,.必然用到线程.
同个大漠对象,在不同线程是互不影响,du立的..
作者: 无情的冷风    时间: 2012-5-23 14:18
看看 。 学习
作者: TakeBobo    时间: 2012-5-23 14:34
三姐V5  
作者: xj_51love    时间: 2012-5-23 15:45
同样的代码 用不同的线程开启 那全局变量 能有效的控制吗?如果不能 那无法实现复杂的功能 多开也没意义
作者: xj_51love    时间: 2012-5-23 15:58
还有 大漠的手册 不知道大家都没仔细读过没
dm.UnBindWindow() 是不带参数的
当你要解绑一个窗口 执行dm.UnBindWindow() 的时候
我觉得 所有绑定的窗口都要解绑
下面是大漠的说明
多线程下使用插件是一个很复杂的问题.
一般来说使用多线程的目的,有2种目的。
情况1 用多个线程控制多个窗口的脚本运行(最常见的情况,通常用于多开).
情况2 用多个线程控制同一个窗口的脚本运行(通常用于监控信息,比如验证信息,或其他一些突发性的情况).
二  其他高级语言的多线程 (高级语言模版大漠插件网站有下载)

   首先,要注意的是,大漠插件是仅支持com的STA线程模型,高级语言中使用大漠插件,必须使用STA模型。

   这样效率最高. MTA也可以,但是不同线程调用同个对象接口的同步必须自己完成.插件内部没有考虑这点.

   情况1

1.   这种情况是最常见的情况,用大漠插件不用特别注意什么,每个窗口对应绑定一个大漠对象即可.

情况2

1.   这种情况就比较特殊了。要支持这种情况,必须使用插件(2.1117之后的版本).

2.   每个线程中,还是创建一个大漠对象,并绑定同一个窗口.
另外,特别要注意,绑定的同个窗口的绑定模式必须完全一样。  第一个绑定的大漠对象称做主绑定,
后面的都叫做副绑定,副绑定不用解绑也可以,但是一旦主绑定接绑,那么所有的绑定都会失效..

3. 这种模式下,还有个问题要注意,因为毕竟是多线程,键鼠的操作都是异步的,那么很可能出现键鼠
   在多个线程中冲突的可能,这个问题没法解决,多线程势必会有这样的问题。只能建议少在子线程中
   做键鼠的操作.

4. 另外,子线程在绑定时,一定要等到主线程绑定结束之后,再执行绑定,
   否则会引发不可预知的异常.

大家把这个想的太简单了
作者: xj_51love    时间: 2012-5-23 16:25
#import "dm.dmsoft" dm
是创建个 dm 大漠对象
可以在TC 里开启多个线程 没问题
但你想解绑谋个窗口执行dm.UnBindWindow() 的时候
其他的窗口也将被全部解绑 应为你只有1个大漠对象 dm 只不过它在不同的线程里而已
如果是多个大漠 dm[]
你就可以执行dm[0].UnBindWindow() dm[1].UnBindWindow()
这样多开才有实际用处
作者: die13719076310    时间: 2012-5-23 17:54
弱弱的问下 大漠用变量跟线程用变量有什么差别
作者: 再见理想    时间: 2012-5-23 18:06
回复 1楼xj_51love的帖子

如果回帖可以帮你解决问题或者提供思路,记得采纳别人的帖子哦
作者: bocai7821    时间: 2012-5-24 13:03
厉害啊
创建多个大漠对象数组
在功能强大而且比较完善脚本中
很有必要啊可以大大简化代码
特别是在镶套到2级以上线程
镶套层次越多代码也越复杂
逻辑思维就越混乱
因为一个大漠对象牵涉到太多
一个小改动就影响太多代码
不过多创建大漠对象的确可以省多事情
作者: 991225967    时间: 2012-5-26 15:08
菜鸟路过
作者: c724211922    时间: 2012-6-14 12:42
我还 不懂呢
作者: c724211922    时间: 2012-6-21 17:32
以后会懂的
作者: qin8311    时间: 2012-10-24 17:05
这帖子还是没说到重点。。TC怎么创建多个大漠对象了
作者: hyh520521    时间: 2012-11-15 15:59
呵呵  貌似是xj_51love 这位兄弟想太多了  哈哈  在TC调用大漠是最简单的  只要启动一次线程就是创建了一个大漠对象了 互不干扰的  我都用了N久了 稳定得很,反而易语言的还不稳定
作者: EvilPiggy    时间: 2013-4-14 14:39
kkkkkkkk




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