Exemplo n.º 1
0
        public void BeginStartQuotes(IEnumerable <Symbol> symbols)
        {
            try
            {
                if (client.IsConnected == true)
                {
                    client.Disconnect();
                    client = new DdeClient("MTX", "DATA");
                }

                client.Advise       += OnAdvise;
                client.Disconnected += new EventHandler <DdeDisconnectedEventArgs>(client_Disconnected);
                client.Connect();

                foreach (var item in symbols)
                {
                    for (int j = 0; j < UpdateFields.Length; ++j)
                    {
                        client.BeginStartAdvise(item.Value.ToUpper() + "." + UpdateFields[j], 1, true, null, null);
                    }
                }
            }
            catch
            { }
        }
Exemplo n.º 2
0
 public void Test_BeginStartAdvise_Before_Connect()
 {
     using var server = new TestServer(ServiceName);
     server.Register();
     server.SetData(TopicName, ItemName, 1, Encoding.ASCII.GetBytes(TestData));
     using var client = new DdeClient(ServiceName, TopicName);
     Assert.Throws<InvalidOperationException>(() => client.BeginStartAdvise(ItemName, 1, false, null, null));
 }
Exemplo n.º 3
0
 public void Test_BeginStartAdvise_After_Dispose()
 {
     using var server = new TestServer(ServiceName);
     server.Register();
     server.SetData(TopicName, ItemName, 1, Encoding.ASCII.GetBytes(TestData));
     using var client = new DdeClient(ServiceName, TopicName);
     client.Connect();
     client.Dispose();
     Assert.Throws<ObjectDisposedException>(() => client.BeginStartAdvise(ItemName, 1, false, null, null));
 }
Exemplo n.º 4
0
 public void Test_EndStartAdvise()
 {
     using var server = new TestServer(ServiceName);
     server.Register();
     server.SetData(TopicName, ItemName, 1, Encoding.ASCII.GetBytes(TestData));
     using var client = new DdeClient(ServiceName, TopicName);
     client.Connect();
     var ar = client.BeginStartAdvise(ItemName, 1, true, null, null);
     Assert.IsTrue(ar.AsyncWaitHandle.WaitOne(Timeout, false));
     client.EndStartAdvise(ar);
 }
Exemplo n.º 5
0
 public void Test_BeginStartAdvise_Before_Connect()
 {
     using (TestServer server = new TestServer(ServiceName))
     {
         server.Register();
         server.SetData(TopicName, ItemName, 1, Encoding.ASCII.GetBytes(TestData));
         using (DdeClient client = new DdeClient(ServiceName, TopicName))
         {
             IAsyncResult ar = client.BeginStartAdvise(ItemName, 1, false, null, null);
         }
     }
 }
 public void Test_EndStartAdvise_After_Dispose()
 {
     using (var server = new TestServer(ServiceName))
     {
         server.Register();
         server.SetData(TopicName, ItemName, 1, Encoding.ASCII.GetBytes(TestData));
         using (var client = new DdeClient(ServiceName, TopicName))
         {
             client.Connect();
             var ar = client.BeginStartAdvise(ItemName, 1, true, null, null);
             Assert.IsTrue(ar.AsyncWaitHandle.WaitOne(Timeout, false));
             client.Dispose();
             Assert.Throws<ObjectDisposedException>(() => client.EndStartAdvise(ar));
         }
     }
 }
Exemplo n.º 7
0
 public void Test_BeginStartAdvise_Variation_2()
 {
     using var server = new TestServer(ServiceName);
     server.Register();
     server.SetData(TopicName, ItemName, 1, Encoding.ASCII.GetBytes(TestData));
     using var client = new DdeClient(ServiceName, TopicName);
     var listener = new EventListener();
     client.Advise += listener.OnEvent;
     client.Connect();
     var ar = client.BeginStartAdvise(ItemName, 1, false, null, null);
     Assert.IsTrue(ar.AsyncWaitHandle.WaitOne(Timeout, false));
     server.Advise(TopicName, ItemName);
     Assert.IsTrue(listener.Received.WaitOne(Timeout, false));
     var args = (DdeAdviseEventArgs) listener.Events[0];
     Assert.AreEqual(ItemName, args.Item);
     Assert.AreEqual(1, args.Format);
     Assert.IsNull(args.Data);
 }
Exemplo n.º 8
0
 public void Test_BeginStartAdvise_Variation_3()
 {
     using (TestServer server = new TestServer(ServiceName))
     {
         server.Register();
         server.SetData(TopicName, ItemName, 1, Encoding.ASCII.GetBytes(TestData));
         using (DdeClient client = new DdeClient(ServiceName, TopicName))
         {
             EventListener listener = new EventListener();
             client.Advise += listener.OnEvent;
             client.Connect();
             IAsyncResult ar = client.BeginStartAdvise(ItemName, 1, true, true, null, null, "MyStateObject");
             Assert.IsTrue(ar.AsyncWaitHandle.WaitOne(Timeout, false));
             server.Advise(TopicName, ItemName);
             Assert.IsTrue(listener.Received.WaitOne(Timeout, false));
             DdeAdviseEventArgs args = (DdeAdviseEventArgs)listener.Events[0];
             Assert.AreEqual(ItemName, args.Item);
             Assert.AreEqual(1, args.Format);
             Assert.AreEqual("MyStateObject", args.State);
             Assert.AreEqual(TestData, Encoding.ASCII.GetString(args.Data));
         }
     }
 }