TC官方合作论坛

 找回密码
 立即注册
查看: 6120|回复: 19

TC 对大漠的多个引用

[复制链接]
发表于 2012-5-23 13:17:50 | 显示全部楼层 |阅读模式

马上加入TC

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

x
#import "dm.dmsoft" dm1
#import "dm.dmsoft" dm2
这样 是有2个大漠对象
有能能以返回数组的方式来实现吗?
#import "dm.dmsoft" dm[0]
#import "dm.dmsoft" dm[1]
这样无法通过
回复

使用道具 举报

发表于 2012-5-23 13:36:01 | 显示全部楼层
楼主为什么要引用两个大漠呢>
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-5-23 13:41:26 | 显示全部楼层
一个大漠只能控制一个游戏窗口 只有一个大漠对象 是无发在一个程序集里 做到多开 的
回复 支持 反对

使用道具 举报

发表于 2012-5-23 13:51:07 | 显示全部楼层
楼主这样的想法是错误的。
回复 支持 反对

使用道具 举报

发表于 2012-5-23 13:52:07 | 显示全部楼层
大漠多开操作不是这样写的哦!
  大漠在TC里面是可以在一个线程里面绑定一个大漠的,操作的是相互不影响的。
回复 支持 反对

使用道具 举报

发表于 2012-5-23 14:07:00 | 显示全部楼层
三姐正解
不需要2个大漠对象.
你要多开操作,.必然用到线程.
同个大漠对象,在不同线程是互不影响,du立的..
回复 支持 反对

使用道具 举报

发表于 2012-5-23 14:18:42 | 显示全部楼层
看看 。 学习
回复 支持 反对

使用道具 举报

发表于 2012-5-23 14:34:56 | 显示全部楼层
三姐V5  
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-5-23 15:45:29 | 显示全部楼层
同样的代码 用不同的线程开启 那全局变量 能有效的控制吗?如果不能 那无法实现复杂的功能 多开也没意义
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-5-23 15:58:55 | 显示全部楼层
还有 大漠的手册 不知道大家都没仔细读过没
dm.UnBindWindow() 是不带参数的
当你要解绑一个窗口 执行dm.UnBindWindow() 的时候
我觉得 所有绑定的窗口都要解绑
下面是大漠的说明
多线程下使用插件是一个很复杂的问题.
一般来说使用多线程的目的,有2种目的。
情况1 用多个线程控制多个窗口的脚本运行(最常见的情况,通常用于多开).
情况2 用多个线程控制同一个窗口的脚本运行(通常用于监控信息,比如验证信息,或其他一些突发性的情况).
二  其他高级语言的多线程 (高级语言模版大漠插件网站有下载)

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

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

   情况1

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

情况2

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

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

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

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

大家把这个想的太简单了
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-5-18 19:51 , Processed in 0.044330 second(s), 22 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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