Watch, Follow, &
Connect with Us
Public Report
Report From: C#Builder/ECO    [ Add a report in this area ]  
Report #:  35863   Status: Closed
Extent Service does not work on SyncServer
Project:  C#Builder Build #:  10.0.2288.4245
Version:    10.0 Submitted By:   Carsten Geuer
Report Type:  Basic functionality failure Date Reported:  10/29/2006 1:27:41 PM
Severity:    Critical / Show Stopper Last Updated: 11/6/2006 11:36:05 AM
Platform:    All versions Internal Tracking #:  
Resolution: Test Case Error (Resolution Comments) Resolved in Build: : None
Duplicate of:  None
Voting and Rating
Overall Rating: No Ratings Yet
0.00 out of 5
Total Votes: None
Description
We have a lot of Data and using SyncServer. Unfortunately the OCLPSExpression are not working with the SyncServer properly. For example, clients are not notified when new instances are added.

One idea is to use the ExtentService

EcoSpace.ExtentService.SubscribeToObjectAdded(this,typeof(Person));

(idea from Peter Morris in borland.public.delphi.modeldrivenarchitecture.eco)

However, this is just working locally, when one client added one instance only this client is informed by the subscription, not the others.
Steps to Reproduce:
1) Set up a Eco Sync Server with at least two Clients.

2) In the Load Event of a eco form add
EcoSpace.ExtentService.SubscribeToObjectAdded(this,typeof(XXXClass));

where XXXClass is part of the Model which is used in the ECO Space of this eco form

3) Add the following code (one field and two methods) to the form code:



bool isAlive = true;
public bool IsAlive()
{

return isAlive;
}

public bool Receive(object sender, EventArgs args)
{
  MessageBox.Show("Added "+sender.GetType().Name);
  return true;
}

4 ) In the Closed event of the form add
is Alive = false;

5) The Form should implement the ISubscriber interface

class EcoFormXXX : System.Windows.Forms.Form,ISubscriber


6) For example in an button click event add the code
XXXClass obj = new XXXClass(EcoSpace);

If you run the aplllication and press the button the Message Box will pop up on this Client
BUT not on the other clients !!  

Workarounds
The ExtentService just works local !!

So this is not a solution for the problem of synchronizing Clients when using OCLPS Handles.
Attachment
None
Comments

None

Server Response from: ETNACODE01