// ********************************************************************** public MainForm() { InitializeComponent(); server = new XlDdeServer(service); // Создадим и зарегистрируем обработчики передаваемых Квиком данных // для каждого нашего DDE канала. tradesChannel = new TradesChannel(); quotesChannel = new QuotesChannel(); tradesChannel.ConversationAdded += TradesConversationsChanged; tradesChannel.ConversationRemoved += TradesConversationsChanged; quotesChannel.ConversationAdded += QuotesConversationsChanged; quotesChannel.ConversationRemoved += QuotesConversationsChanged; server.AddChannel(tradesChannel); server.AddChannel(quotesChannel); // Зарегистрируем сам DDE сервер. server.Register(); // Таймер updater = new Timer(); updater.Interval = 100; // мс, этим значением не стоит злоупотреблять. // если нужна большая скорость обновления, то минимально разумное // значение - 15 мс. Меньше не имеет смысла, как с технической точки // зрения, так и с физиологической для человека. updater.Tick += new EventHandler(UpdaterTick); updater.Start(); }
// ********************************************************************** void IStockProvider.Subscribe(string symbol) { CreateServer(); if (!stockActive && server != null) { stockActive = true; server.AddChannel(stockChannel); } }
public DDEinfrastructure(RepositiryClasses _repoInf) { // server server = new XlDdeServer(service); server.AddChannel(curtabTopic, (CurrentTableChannel)_repoInf.GetReference("CurrentTableChannel")); server.AddChannel(allTradesTopic, (AllTradesChannel)_repoInf.GetReference("AllTradesChannel")); server.Register(); // Зарегистрируем сам DDE сервер }
static void Main(string[] args) { using (XlDdeServer server = new XlDdeServer("Ticks2")) { Console.BufferWidth = 150; server.AddChannel(new DataReception("Si", 60, EventSignal, 35000, 3600, 8000, 6000, 1200)); server.AddChannel(new DataReception("BR", 60, EventSignal, 25000, 4000, 9200, 5000, 1900)); server.AddChannel(new DataReception("GOLD", 60, EventSignal, 1950, 1000, 1200, 1000, 200)); server.Register(); Console.WriteLine("DDE server ready. Press Enter to exit.DDE server ready.\n\n"); Console.ReadLine(); } }
// ********************************************************************** // * EntryPoint * // ********************************************************************** static void Main() { using (XlDdeServer server = new XlDdeServer(service)) { // Создадим и зарегистрируем обработчики передаваемых Квиком данных // для каждого нашего DDE канала. server.AddChannel(new TradesChannel()); server.AddChannel(new QuotesChannel()); // Зарегистрируем сам DDE сервер. server.Register(); // Теперь DDE сервер готов к работе и каждый раз при поступлении // данных он будет передавать их методу ProcessTable() в // соответствующем каналу экземпляре класса. Console.WriteLine("DDE server ready. Press Enter to exit.\n\n"); Console.ReadLine(); } }
// Constructor public DDEinfrastructure() { server_AllTrades = new XlDdeServer(SERVICE_ALLTRADES); allTradesChannel = new AllTradesChannel(); server_AllTrades.AddChannel(allTradesTopic, allTradesChannel); server_AllTrades.Register(); server_CurTable = new XlDdeServer(SERVICE_CURRENTTABLE); currentTableChannel = new CurrentTableChannelMulti(); server_CurTable.AddChannel(curtabTopic, currentTableChannel); server_CurTable.Register(); }