1

我们有显示数据捕获和编辑表单的 Delphi 代码,并希望将其集成到 WPP 应用程序中。可以对 Delphi 代码进行更改,以与启用两个应用程序之间通信的 C# 服务进行通信。

已经提到的事情是,在低级别,将 Delphi 窗口的父窗口从另一个 Delphi 窗口(甚至可能是主应用程序窗口)更改为另一个窗口、WPF 或 WinForms 窗口。这有多可行?如何做呢?

我也在考虑以某种方式使用 WPF 远程桌面控件,但在某处连接到同一台机器上的远程桌面服务器。再一次,如何可行,以及如何?

4

2 回答 2

5

我将 wpf 窗口嵌入到我的 delphi 应用程序中。是的,这是相反的方式,但也许你会受到启发。我在两边都构建了一些 COM 对象 - c# 和 delphi,它们用于交换事件/函数等。要嵌入窗口,我使用HWndSourceClass。

如果你想在 WPF 中嵌入一个 Delphi 窗口,你可以使用HWndHostClass。

在 MSDN 中有一个很好的 C-sample 几乎可以直接翻译成 Delphi。请参阅演练:在 WPF 中托管 Win32 控件

这篇文章“ WPF 和 Win32 互操作”也是一个很好的起点。

于 2013-11-18T11:51:12.130 回答
1

我自己从来没有做过,但我听说过 RemObjects 的 Hydra 框架,它们完全符合您的要求。

看看这个: http ://www.remobjects.com/hydra/

以及他们 wiki 上的示例: http://wiki.remobjects.com/wiki/Delphi_WPF_Sample_(Delphi)

Hydra 本身将是一个主机应用程序,可以同时托管 WPF(托管)和 Delphi(非托管)模块。

WPF 远程桌面控制在我看来是个坏主意,用户不会对这种体验感到满意。

于 2013-11-07T10:32:12.163 回答