我们有Delphi代码,可以显示数据捕获和编辑表单,并希望将其集成到WPP应用程序中。可以对Delphi代码进行更改,以便与支持两个应用程序之间通信的C#服务进行通信。
提到的一点是,在较低的层次上,将Delphi窗口的父窗口从另一个Delphi窗口(甚至可能是主应用程序窗口)更改为另一个窗口,WPF或WinForms窗口。这有多可行?怎么办呢?
我也在想某种方式使用WPF远程桌面控件,但是在同一台机器上连接到远程桌面服务器。再一次,如何可行,以及如何?
答案 0 :(得分:5)
我将wpf windows嵌入到我的delphi应用程序中。是的,这是相反的方式,但也许你会受到启发。我在两侧构建了一些COM对象--c#和delphi,用于交换事件/函数等。要嵌入窗口,我使用HWndSource
类。
如果要将一个Delphi窗口嵌入到WPF中,可以使用HWndHost
类。
有一个很好的C样本几乎可以直接转换为MSDN中的Delphi。见Walkthrough: Hosting a Win32 Control in WPF
这篇文章“WPF and Win32 Interoperation”也是一个很好的起点。
答案 1 :(得分:1)
我自己从未这样做过,但我听说过RemObjects的Hydra框架,他们完全按照自己的意愿行事。
检查一下: http://www.remobjects.com/hydra/
和他们的维基上的一个例子: http://wiki.remobjects.com/wiki/Delphi_WPF_Sample_(Delphi)
Hydra本身将是一个托管应用程序,可以同时托管WPF(托管)和Delphi(非托管)模块。
WPF远程桌面控制在我看来是个坏主意,用户不会对这种体验感到满意。