2012-10-05 12 views
0

继续我们的Delphi 2010胖客户端到多层迁移(previous question),我们正处于需要找到数据绑定解决方案的地步。我遇到过RemObjects Hydra。事情是我似乎无法遵循他们的教程for the host programfor the plugin 我已经在Visual Studio中创建了一个Hydra插件项目,实现了所描述的界面并且构建得很好。Delphi 2010我如何实现Hydra WPF主机应用程序示例?

[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; 

什么是实例?另外,我的WPF插件项目中没有任何文件以.xap结尾,所以我应该通过哪个参数作为参数?

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

+0

Hydra应包含显示如何使用它的示例项目。另外对于Delphi主机,你可以参考这篇文章,因为你有一个WPF插件而不是silverlight:http://wiki.remobjects.com/wiki/VCL_Host –

+0

谢谢。我最终得到了它的工作。该示例没有声明fInstance,但其中一个视频([LINK] http://www.remobjects.com/tv/hydra.aspx?video=hydra-02-firemonkey)解释了(在将方法调用写入CreateVisualPlugin)需要声明它,更关键的是它是什么 - fInstance:IHYVisualPlugin; – reckface

回答

0

这是我如何得到它到底工作,你需要声明插件的一个实例:

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窗体所必需的。

相关问题