Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » Ultra Light .NET プログラミング » Ultra Light.NET アプリケーション開発 » Mobile Link データ同期

 

アプリケーションへの ActiveSync 同期の追加

この項では、ActiveSync を Ultra Light.NET アプリケーションに追加する方法について説明します。また、エンドユーザーのコンピューター上の ActiveSync で使用するアプリケーションの登録方法についても説明します。

ActiveSync 同期を開始できるのは、ActiveSync 自体だけです。デバイスがクレードルにある場合や、[ActiveSync] ウィンドウで [同期] が選択された場合に、ActiveSync は同期を開始します。

ActiveSync が同期を開始すると、Ultra Light アプリケーションがまだ実行されていない場合は ActiveSync 用 Mobile Link プロバイダーが Ultra Light アプリケーションを起動し、メッセージを送信します。Mobile Link プロバイダーからのメッセージを受信および処理するには、ULActiveSyncListener オブジェクトをアプリケーションに実装します。アプリケーションは、SetActiveSyncListener メソッドを使用してリスナーオブジェクトを指定する必要があります。ここで、MyAppClassName は、アプリケーションのユニークな Windows クラス名です。

dbMgr.SetActiveSyncListener( "MyAppClassName", listener );

Ultra Light は、ActiveSync メッセージを受信すると、指定されたリスナーの ActiveSyncInvoked メソッドを別のスレッド上で呼び出します。マルチスレッドの問題を回避するには、ActiveSyncInvoked メソッドでユーザーインターフェイスにイベントを通知してください。

マルチスレッドアプリケーションを使用する場合は、スレッドごとに別々の接続を使用し、C# の lock キーワードまたは Visual Basic .NET の SyncLock キーワードを使用して、アプリケーションの共有オブジェクトにアクセスします。ActiveSyncInvoked メソッドは、使用する接続の SyncParms.Stream に ULStreamType.ACTIVE_SYNC を指定してから ULConnection.Synchronize を呼び出します。

アプリケーションを登録するときは、次のパラメーターを設定します。

  • クラス名   Connection.SetActiveSyncListener メソッドでアプリケーションが使用したクラス名と同じクラス名

 参照