0

UI にプログレス バーがある 3 層の VB Windows アプリケーションがあります。ビジネス層でメソッドを呼び出して、UI の進行状況バーを更新する方法の例はありますか。どのように参照すればよいですか?

たとえば、businesslayer.domethod() を実行すると

次に、ビジネスレイヤーでは、別のアセンブリに存在することを認識していないため、ui.progressbar.update を実行できません。

4

1 に答える 1

0

「3 層 Windows アプリケーション」とはどういう意味ですか? レイヤーは物理的に独立していますか? レイヤ間通信をどのように実装しましたか? 「busineslayer.dosomething()」の例では、すべてのレイヤーが同じマシンにあり、リモーティング手法を使用していないようです。レイヤーが同じマシンとプロセス内の単なる論理レイヤーである場合、次の 2 つのアプローチを取ることができます。

1) コールバック デリゲートを busineslayer.domethod() メソッドに渡して、UI をコールバックして進行状況を通知できるようにするか、または

2) busineslayer クラスはいくつかのイベントを実装できます。UI がイベントをサブスクライブして、更新されるようにします。

私は2番目のアプローチを実装します。

于 2012-08-17T11:47:33.300 に答える