《WebGIS系统的设计与实现》的补充说明
昨天贴的《WebGIS系统的设计与实现》没有实现最后的Map渲染,原因是COM交互的问题。看了edison1024的留言和MapX的实现,发现是我的设计存在问题,我试图使用MapService去创建一个MapEngine,然后再在MapEngine里实现窗体的创建和地图的渲染。这样如果是.net类或者COM的不可视的DLL,则应该没有问题。但对于ActiveX,就存在问题。
按照edison1024的MapX的实现,使用创建Remoting服务的Host创建了另一个窗体对象,然后在MapEngine里去调用他的MapEngine对象(指向具体的窗体),就可以了:
运行结果如下:
按照edison1024的MapX的实现,使用创建Remoting服务的Host创建了另一个窗体对象,然后在MapEngine里去调用他的MapEngine对象(指向具体的窗体),就可以了:
Public Shared MapEngine As frmSuperMapForm
<STAThread()> Shared Sub Main()
Dim chan1 As TcpChannel
chan1 = New TcpChannel(8085)
ChannelServices.RegisterChannel(chan1)
RemotingConfiguration.RegisterWellKnownServiceType(GetType(MapService), "MapService", WellKnownObjectMode.Singleton)
MapEngine = New frmSuperMapForm
Application.Run(MapEngine)
End Sub
<STAThread()> Shared Sub Main()
Dim chan1 As TcpChannel
chan1 = New TcpChannel(8085)
ChannelServices.RegisterChannel(chan1)
RemotingConfiguration.RegisterWellKnownServiceType(GetType(MapService), "MapService", WellKnownObjectMode.Singleton)
MapEngine = New frmSuperMapForm
Application.Run(MapEngine)
End Sub
运行结果如下:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 内存占用高分析
· .NET Core GC计划阶段(plan_phase)底层原理浅谈
· .NET开发智能桌面机器人:用.NET IoT库编写驱动控制两个屏幕
· 用纯.NET开发并制作一个智能桌面机器人:从.NET IoT入门开始
· 一个超经典 WinForm,WPF 卡死问题的终极反思
· 支付宝事故这事儿,凭什么又是程序员背锅?有没有可能是这样的...
· 在线客服系统 QPS 突破 240/秒,连接数突破 4000,日请求数接近1000万次,.NET 多
· C# 开发工具Visual Studio 介绍
· 在 Windows 10 上实现免密码 SSH 登录
· C#中如何使用异步编程