【发布时间】:2018-03-27 19:19:09
【问题描述】:
我有一个非常庞大且复杂的 Visual FoxPro 9 应用程序。我想在 WPF 中重写此应用程序的部分内容,最终目标是在几年后完成切割。我花了相当多的时间在 google 和 stackoverflow 上搜索端到端的“hello world”类型示例,以了解如何使用 COM 互操作实现这一点。找到了一些零碎的东西,但没有完整的显示 FoxPro 端和 WPF 端。
我的直觉告诉我,如果我尝试通过 COM Interop 运行 WPF 应用程序,我可能会遇到 XAML 资源、第三方控件或其他正常功能的问题。
所以,有两个问题。谁能指出我从 FoxPro 启动 WPF 窗口或让我在 FoxPro 窗体上删除 WPF 用户控件的端到端小示例?还是我对潜在互操作问题的担忧是正确的,应该完全避免这种情况?如果是这样,是否有推荐的方式让这两个可执行文件相互通信?
【问题讨论】:
-
几年后,Windows 7 将被弃用,WPF 将随之弃用。如果你对 windows 没有问题,你应该看看一些更新的东西,也许是 Electron 或 UWP
-
最近是否有来自 Microsoft 的资源说明了这一点,或者这只是您的意见?
-
这是一个非常大非常复杂的问题。我完全按照你的要求做了。这里有一些资源:west-wind.com/presentations/VfpDotNetInterop/DotNetFromVFP.asp; codemag.com/Article/0703112 ; west-wind.com/presentations/dotnetfromVfp/… ; stackoverflow.com/questions/2186829/… 。我还可以告诉您,我在使用 WPF 类应用程序时遇到了问题。如果你有耐心,我可以给你写我的研究案例。
-
我不对 WPF 的未来发表评论。但无论如何,这是一个特定于 MS 的东西。在 VFP 之后,您还会冒着再次信任 MS 的风险吗?这是一件事,另一件事是,我会远离 COM(又是一个特定于平台的事情)。我和你处于同样的位置,做了一些你过去描述的事情,并且永远不会再走那条路(即 COM 和 Silverlight - SL 是另一个展示 MS 可信赖性的示例)。也许您应该期待使用 REST、micro、gRPC ... 数据服务和基于 HTML 的 UI 界面(Qt 是另一个不错的跨平台 UI 选项)
-
我必须坚持使用可以与 foxpro 应用程序尽可能紧密集成的技术。完全重写它需要近 50 万美元的开发成本,而所有权不会这样做。一次做一点是我现在最好的选择,这会留下 WPF。找到了一些用于启动进程并监控它们是否仍在运行的代码示例。所以,我可能会采用某种双进程实现,让 foxpro 和 wpf 应用程序能够通信。
标签: wpf visual-foxpro