我们有显示数据捕获和编辑表单的 Delphi 代码,并希望将其集成到 WPP 应用程序中。可以对 Delphi 代码进行更改,以与启用两个应用程序之间通信的 C# 服务进行通信。
已经提到的事情是,在低级别,将 Delphi 窗口的父窗口从另一个 Delphi 窗口(甚至可能是主应用程序窗口)更改为另一个窗口、WPF 或 WinForms 窗口。这有多可行?如何做呢?
我也在考虑以某种方式使用 WPF 远程桌面控件,但在某处连接到同一台机器上的远程桌面服务器。再一次,如何可行,以及如何?
我们有显示数据捕获和编辑表单的 Delphi 代码,并希望将其集成到 WPP 应用程序中。可以对 Delphi 代码进行更改,以与启用两个应用程序之间通信的 C# 服务进行通信。
已经提到的事情是,在低级别,将 Delphi 窗口的父窗口从另一个 Delphi 窗口(甚至可能是主应用程序窗口)更改为另一个窗口、WPF 或 WinForms 窗口。这有多可行?如何做呢?
我也在考虑以某种方式使用 WPF 远程桌面控件,但在某处连接到同一台机器上的远程桌面服务器。再一次,如何可行,以及如何?
我将 wpf 窗口嵌入到我的 delphi 应用程序中。是的,这是相反的方式,但也许你会受到启发。我在两边都构建了一些 COM 对象 - c# 和 delphi,它们用于交换事件/函数等。要嵌入窗口,我使用HWndSource
Class。
如果你想在 WPF 中嵌入一个 Delphi 窗口,你可以使用HWndHost
Class。
在 MSDN 中有一个很好的 C-sample 几乎可以直接翻译成 Delphi。请参阅演练:在 WPF 中托管 Win32 控件
这篇文章“ WPF 和 Win32 互操作”也是一个很好的起点。
我自己从来没有做过,但我听说过 RemObjects 的 Hydra 框架,它们完全符合您的要求。
看看这个: http ://www.remobjects.com/hydra/
以及他们 wiki 上的示例: http://wiki.remobjects.com/wiki/Delphi_WPF_Sample_(Delphi)
Hydra 本身将是一个主机应用程序,可以同时托管 WPF(托管)和 Delphi(非托管)模块。
WPF 远程桌面控制在我看来是个坏主意,用户不会对这种体验感到满意。