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

SAP Sybase SQL Anywhere 16.0 » 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 メソッドでアプリケーションが使用したクラス名と同じクラス名

 参照