Объявление переменной COM - C#
Формулировка задачи:
Добрый день,
В чем разница объявления переменных?
Я использую подключенную COM библиотеку.
Спасибо
Листинг программы
- using SmartCOM4Lib;
- private StServerClass SmartServer; // вариант 1
- private SmartCOM4Lib.StServerClass SmartServer; // вариант 2
Решение задачи: «Объявление переменной COM»
textual
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Drawing;
- using System.Linq;
- using System.Threading;
- using System.Windows.Forms;
- using System.Runtime.InteropServices;
- using SmartCOM4Lib;
- namespace TestConnect
- {
- public partial class TestForm : Form
- {
- private delegate void UpdateErrorText(string text);
- private int InfoCookie; // Индификатор приказа
- private Quote LastQuote; // Котировка инструмента
- private List<Bar> InfoBars; // Список баров для инструмента
- //private StServerClass SmartServer; // SmartCOM
- private SmartCOM4Lib.StServerClass SmartServer;
- private List<Tiker> InfoTikers; // Список всех инструментов
- private const string smartComParams = "logLevel=5;maxWorkerThreads=3";
- private DAFWriters Writers; // Лог
- // Создан ли SmartCOM
- private bool IsReady { get { return (SmartServer != null); } }
- // Установлено ли соединение
- private bool IsConnected
- {
- get
- {
- bool bReturn = false;
- if (IsReady)
- {
- try
- {
- bReturn = SmartServer.IsConnected();
- }
- catch (Exception)
- {
- }
- }
- return bReturn;
- }
- }
- public TestForm()
- {
- Writers = new DAFWriters();
- InitializeComponent();
- ToDateTimePicker.Value = DateTime.Now.AddDays(-5);
- ToDateTimePicker.MaxDate = DateTime.Now;
- InfoBars = new List<Bar>();
- InfoTikers = new List<Tiker>();
- //Text += ", Version: " + Info.GetVersion;
- Writers.WriteLine("Enegy", "log", "{0} Version: {1}", DateTime.Now, Info.GetVersion);
- foreach (StBarInterval Interval in Enum.GetValues(typeof(StBarInterval)))
- if (Interval != StBarInterval.StBarInterval_Tick)
- IntervalComboBox.Items.Add(Interval.ToString());
- if (IntervalComboBox.Items.Count > 0)
- IntervalComboBox.SelectedIndex = 0;
- }
- private StBarInterval GetInterval { get { return (IntervalComboBox.SelectedIndex > -1 ? (StBarInterval)Enum.Parse(typeof(StBarInterval), IntervalComboBox.SelectedItem.ToString()) : StBarInterval.StBarInterval_1Min); } }
- private void CreateButton_Click(object sender, EventArgs e)
- {
- Writers.WriteLine("Enegy", "log", "{0} Click: {1}", DateTime.Now, "Create");
- ReDrawStatus("Create");
- if (!IsReady) // если SmartCOM не создан
- {
- try
- {
- //SmartServer = new StServerClass(); // Создать и назначить обработчики событий
- SmartServer = new SmartCOM4Lib.StServerClass();
- SmartServer.Connected += new _IStClient_ConnectedEventHandler(SmartServer_Connected);
- SmartServer.Disconnected += new _IStClient_DisconnectedEventHandler(SmartServer_Disconnected);
- SmartServer.AddTick += new _IStClient_AddTickEventHandler(SmartServer_AddTick);
- SmartServer.UpdateBidAsk += new _IStClient_UpdateBidAskEventHandler(SmartServer_UpdateBidAsk);
- SmartServer.UpdateQuote += new _IStClient_UpdateQuoteEventHandler(SmartServer_UpdateQuote);
- SmartServer.AddBar += new _IStClient_AddBarEventHandler(SmartServer_AddBar);
- SmartServer.AddTickHistory += new _IStClient_AddTickHistoryEventHandler(SmartServer_AddTickHistory);
- SmartServer.AddPortfolio += new _IStClient_AddPortfolioEventHandler(SmartServer_AddPortfolio);
- SmartServer.UpdateOrder += new _IStClient_UpdateOrderEventHandler(SmartServer_UpdateOrder);
- SmartServer.UpdatePosition += new _IStClient_UpdatePositionEventHandler(SmartServer_UpdatePosition);
- SmartServer.SetPortfolio += new _IStClient_SetPortfolioEventHandler(SmartServer_SetPortfolio);
- SmartServer.AddTrade += new _IStClient_AddTradeEventHandler(SmartServer_AddTrade);
- SmartServer.AddSymbol += new _IStClient_AddSymbolEventHandler(SmartServer_AddSymbol);
- SmartServer.SetMyClosePos += new _IStClient_SetMyClosePosEventHandler(SmartServer_SetMyClosePos);
- SmartServer.SetMyOrder += new _IStClient_SetMyOrderEventHandler(SmartServer_SetMyOrder);
- SmartServer.SetMyTrade += new _IStClient_SetMyTradeEventHandler(SmartServer_SetMyTrade);
- SmartServer.OrderSucceeded += new _IStClient_OrderSucceededEventHandler(SmartServer_OrderSucceeded);
- SmartServer.OrderFailed += new _IStClient_OrderFailedEventHandler(SmartServer_OrderFailed);
- SmartServer.OrderCancelFailed += new _IStClient_OrderCancelFailedEventHandler(SmartServer_OrderCancelFailed);
- SmartServer.OrderCancelSucceeded += new _IStClient_OrderCancelSucceededEventHandler(SmartServer_OrderCancelSucceeded);
- SmartServer.OrderMoveFailed += new _IStClient_OrderMoveFailedEventHandler(SmartServer_OrderMoveFailed);
- SmartServer.OrderMoveSucceeded += new _IStClient_OrderMoveSucceededEventHandler(SmartServer_OrderMoveSucceeded);
- Writers.WriteLine("Enegy", "log", "{0} ConfigureClient {1}", DateTime.Now, smartComParams);
- SmartServer.ConfigureClient(smartComParams);
- Text = "Test Connect (SmartCOM version: " + SmartServer.GetStClientVersionString() + ")";
- CreateButton.Enabled = false;
- }
- catch (COMException Error)
- {
- ReDrawStatus("Ошибка при создании, " + Error.Message);
- return;
- }
- catch (Exception Error)
- {
- ReDrawStatus("Ошибка при создании, " + Error.Message);
- return;
- }
- }
- if (IsConnected) // если соединение установлено, вручную вызвать событие connected, для начала подписки
- SmartServer_Connected();
- else
- ReDrawStatus(""); // иначе обновить статус соединения
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д