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
能不能把你们工具栏那部分源码发给我们看看,我们来分析一下