2012-10-05 11 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窗體所必需的。

相關問題