1

Delphi 2010シッククライアントから多層への移行(前の質問)を続けると、データバインディングソリューションを見つける必要があります。RemObjectsHydraに出くわしました。問題は、ホストプログラムプラグインのチュートリアルに従えないようです 。VisualStudioで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ホストプロジェクトを作成し、インターフェイスをインポートしましたが、create/loadイベントの形式で次のように記述されています。

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

fInstanceとは何ですか?また、WPFプラグインプロジェクトのファイルは.xapで終わらないので、パラメーターとして何を渡す必要がありますか?

RemObjects Hydraを実装した人はいますか?この初期段階をどのように達成しましたか?どんな助けでもありがたいです。

4

1 に答える 1

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フォームには必要ありません。

于 2012-10-09T12:59:37.913 に答える