设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 7827|回复: 16
打印 上一主题 下一主题

关于绑定窗体句柄的问题

[复制链接]

26

主题

161

帖子

485

积分

中级会员

Rank: 3Rank: 3

积分
485
跳转到指定楼层
楼主
发表于 2015-2-6 14:05:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的c#视频客户端,有两个form,在第一个form中创建第二个form并打开,在该form加载时绑定句柄窗体SystemSetting.Init(this.Handle);
现在遇到的问题是:当close该窗体后,又在第一个form中重新创建第二个form的一个实例并打开后,该实例不能接收到进入房间等消息。也就是第二次创建的窗体不能接受到消息。
我的理解是,第二次创建,form加载时重新绑定了窗体句柄,应该是可以接收到消息的
这是为啥涅?请教了
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

26

主题

161

帖子

485

积分

中级会员

Rank: 3Rank: 3

积分
485
沙发
 楼主| 发表于 2015-2-6 14:33:49 | 只看该作者
我找到原因了,是我在关闭form时没有调用AnyChatCoreSDK.Release();
回复 支持 反对

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
板凳
发表于 2015-2-6 14:49:17 | 只看该作者
lincy 发表于 2015-2-6 14:33
我找到原因了,是我在关闭form时没有调用AnyChatCoreSDK.Release();

哦,您是想在第一个窗体使用anychat完成之后,然后在第二个窗体重新初始化anychat吗?
建议您在一个anychat窗体上面初始化anychat就行了,在一个窗体上面接收消息。如果第二个窗体想用使用anychat消息的话,第一个窗体委托给第二个窗体就行了。
回复 支持 反对

使用道具 举报

26

主题

161

帖子

485

积分

中级会员

Rank: 3Rank: 3

积分
485
地板
 楼主| 发表于 2015-2-9 14:04:24 | 只看该作者
廖斌 发表于 2015-2-6 14:49
哦,您是想在第一个窗体使用anychat完成之后,然后在第二个窗体重新初始化anychat吗?
建议您在一个anyc ...

我是在一个窗体上使用消息,只是这个窗体需要被反复关闭和创建,每次创建就要重新绑定窗体句柄。我在关闭窗体时没有调用AnyChatCoreSDK.Release(),所以第二次创建窗体后绑定就不成功。现在已经可以了。谢谢。
回复 支持 反对

使用道具 举报

3

主题

13

帖子

57

积分

注册会员

Rank: 2

积分
57
5#
发表于 2015-2-13 22:50:04 | 只看该作者

我遇到一样的问题, 但是稍微不一样我是使用了VC封装成了ActiveX控件. 然后集成到一个 .net 应用程序内部, 结果第二个控件的事件全给了第一个控件了. 怎么搞???

Init的时候制定的NULL句柄, 如果换成控件的句柄会有效么???

搞了一天了才找到是这个问题, 但是还不知道如何解决呢.

给点 建议呗.


回复 支持 反对

使用道具 举报

3

主题

13

帖子

57

积分

注册会员

Rank: 2

积分
57
6#
发表于 2015-2-13 23:16:16 | 只看该作者

因为我负责开发的ActiveX控件, 而上层应用是其它公司的人开发的, 遵循以前(使用海康卡)的接口. 基于IE调用是没没问题的, 如果2个控件在2个IE的标签下是没问题的可以一个采集一个播放.

现在系统升级到C#下面, 发现了问题在一个进程控件内咱们的API回调Notify消息的时候全给第一个初始化的控件了, 导致第二个控件运行异常.
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9108
7#
发表于 2015-2-14 10:50:17 | 只看该作者
您好,您是两个进程每个进程一个控件,还是一个进程里面有两个控件?
回复 支持 反对

使用道具 举报

3

主题

13

帖子

57

积分

注册会员

Rank: 2

积分
57
8#
发表于 2015-2-14 11:42:50 | 只看该作者

是一个C#写的进程里面有2个一样的控件, 其中一个采集, 另外一个播放. 然后Notify用的回调函数处理消息, 结果消息全给了第一个控件了, 第二个控件就处理异常了, 我还没有试传送窗口句柄, 然后处理窗口消息那样处理不知道行不行的呢. 底层的控件使用的是VC6实现的.

现在就想找到个办法来处理这个问题.
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9108
9#
发表于 2015-2-14 11:47:45 | 只看该作者
是一个C#写的进程里面有2个一样的控件, 其中一个采集, 另外一个播放

您好,采集是用AnyChat采集,播放也是用AnyChat来播放吗?
回复 支持 反对

使用道具 举报

3

主题

13

帖子

57

积分

注册会员

Rank: 2

积分
57
10#
发表于 2015-2-14 12:12:04 | 只看该作者

是的, 都是用AnyChat写的控件. 采集是用一个, 播放使用另外一个, 2个控件本身差别很小的, 一个先启动, 另外一个后启动, 只是设置的昵称和视频语音控制不一样.
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|手机版|AnyChat ( 粤ICP备13022410号-1 )  

GMT+8, 2024-11-24 08:24 , Processed in 0.146061 second(s), 22 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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