【问题标题】:Delphi 2010 How do I Implement a Hydra WPF host application sample?Delphi 2010 如何实现 Hydra WPF 主机应用程序示例?
【发布时间】:2012-10-05 15:51:54
【问题描述】:

继续我们的 Delphi 2010 胖客户端到多层迁移(previous question),我们正处于需要找到数据绑定解决方案的地步。我遇到了 RemObjects Hydra。问题是我似乎无法遵循他们的教程for the host programfor the plugin 我在 Visual Studio 中创建了一个 Hydra 插件项目,实现了所描述的界面并且构建良好。

[Guid("8F1B3EE3-CC69-4685-B141-FAF2F4FB57C4")]
public interface IGridPlugin : IHYCrossPlatformInterface
{
    string UserData { get; set; }
    int ID { get; set; }

}

在插件中:

[Plugin(Name = "GridPlugin", Description = "This is the Grid plugin", UserData = "Data"), VisualPlugin]
public partial class GridPlugin : RemObjects.Hydra.WPF.VisualPlugin, IGridPlugin
{

在 Delphi 中,我创建了一个新的 Hydra 宿主项目,导入了界面,但在表单中他们提到了创建/加载事件:

procedure TMainForm.FormCreate(Sender: TObject);
begin
  ModuleManager.LoadModule('SilverlightPlugin.xap');
  ModuleManager.CreateVisualPlugin('SilverlightPlugin', fInstance, Panel1);
end;

什么是 fInstance?此外,我的 WPF 插件项目中没有文件以 .xap 结尾,那么我应该将什么作为参数传递?

有没有人实现过 RemObjects Hydra,您是如何实现这一早期步骤的? 任何帮助将不胜感激。

【问题讨论】:

  • Hydra 应该包含展示如何使用它的示例项目。同样对于 Delphi Host,您可以参考这篇文章,因为您有 WPF 插件而不是 silverlight 插件:wiki.remobjects.com/wiki/VCL_Host
  • 谢谢。我最终让它工作了。该示例没有声明 fInstance,但其他视频之一 ([LINK]remobjects.com/tv/hydra.aspx?video=hydra-02-firemonkey) 解释了(在编写对 CreateVisualPlugin 的方法调用之后)声明它的必要性,更重要的是它是什么 - fInstance: IHYVisualPlugin;

标签: delphi interop delphi-2010 remobjects


【解决方案1】:

这就是我最终的工作方式,你需要声明一个插件的实例:

Private
  fInstance: IHYVisualPlugin;

// Then Call in the FormCreate event
procedure TMainForm.FormCreate(Sender: TObject);
begin
    ModuleManager.LoadModules('C:\Users\user.Name\Documents\Visual Studio 2010\Projects\DynamicEF4\Product.Delphi.WPF\BIN\RELEASE\Product.Delphi.WPF.dll');
   ModuleManager.CreateVisualPlugin('ViewerPlugin', fInstance, pnl1);
end;
// And then in the FormDestroy event
procedure TMainForm.FormDestroy(Sender: TObject);
begin
    ModuleManager.ReleaseInstance(fInstance);
end;

我想我看错了例子,我看到的 .xap 与 silverlight 相关,而 wpf 或 windows 窗体不需要。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多