Объявление переменной 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(""); // иначе обновить статус соединения
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.583 из 5
Похожие ответы