sun.yh 发表于 2021-1-21 15:23:54

我是通过 cor接口来一步步前推的

Lenka.Guo 发表于 2021-1-21 16:25:13

:hjyzw::hjyzw:厉害,奖励1000金币

Leo 发表于 2021-1-21 16:32:32

我们找到了这篇文章,来自微软的论坛,讲如何通过一个COM Interop将一个WinForm或者WPF的UserControl host出来。感觉跟你遇到的问题有点类似
https://social.msdn.microsoft.com/Forums/en-US/bf2bd138-7f8c-4355-ab4e-544551d20c32/hosting-winform-and-wpf-user-controls-in-win32-form-via-com-interop?forum=wpf
如果Run Message Loop这条路走这么坎坷,不如试试别的方式?

sun.yh 发表于 2021-1-21 18:02:42

我们的使用方式: Assembly => Arx =>Attach win32 windows   

sun.yh 发表于 2021-1-21 18:06:35

现在找到了 ThreadContext.componentManager.RunMessageLoopInner(3, new ApplicationContext())是OK的,现在有两个问题

sun.yh 发表于 2021-1-21 18:08:04

1,它跟其它消息环有什么不一样,它多做了什么。如果搞清楚,可以把缺少处理部分加上
2,如果不能构造,那这个环怎么退出来

sun.yh 发表于 2021-1-21 18:14:28

Application.Run ok
然后用cor构建 Run
ThreadContext.FromCurrent().RunMessageLoop(-1, new ApplicationContext()) //第一个参数-1 或 3 都OK
ThreadContext.FromCurrent().RunMessageLoopInner(3, new ApplicationContext()) OK
ThreadContext.FromCurrent().FPushMessageLoop((IntPtr)componentID, 3, 0) 搞到这里开始报异常了。我搞了一天多没有找到原因

sun.yh 发表于 2021-1-21 18:17:34

我的想法是一层一层的构建原码,然后就容易找问题了。FPushMessageLoop 第一个参数引起了异常

Lenka.Guo 发表于 2021-1-21 18:40:25

您思路很清晰,这个跨平台引用也是非常痛苦的,期待您完成后,给我们其他用户分享下经验。

sun.yh 发表于 2021-1-22 10:01:24

能不能把你们工具栏那部分源码发给我们看看,我们来分析一下
页: 1 2 3 4 5 [6] 7
查看完整版本: AR非Application.Run打开的,工具栏状态不会同步