继续我们的Delphi 2010胖客户端到多层迁移(previous question),我们正处于需要找到数据绑定解决方案的地步。我遇到了RemObjects Hydra。问题是我似乎无法按照他们的教程for the host program和 for 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,你是如何实现这一早期步骤的? 任何帮助将不胜感激。
答案 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表单所必需的。