Delphi 2010如何实现Hydra WPF主机应用程序示例?

时间:2012-10-05 15:51:54

标签: delphi interop delphi-2010 remobjects

继续我们的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,你是如何实现这一早期步骤的? 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分: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表单所必需的。