Exemplo n.º 1
0
        private Hashtable _propertyNumberToPropertyInfoIdx; // номер свойства - индекс в массиве свойств

        /// <summary>
        /// При загрузке 1С:Предприятие V8 инициализирует объект компоненты,
        /// вызывая метод Init и передавая указатель на IDispatch.
        /// Объект может сохранить этот указатель для дальнейшего использования.
        /// Все остальные интерфейсы 1С:Предприятия объект может получить, вызвав метод QueryInterface
        /// переданного ему интерфейса IDispatch. Объект должен возвратить S_OK,
        /// если инициализация прошла успешно, и E_FAIL при возникновении ошибки.
        /// Данный метод может использовать интерфейс IErrorLog для вывода информации об ошибках.
        /// При этом инициализация считается неудачной, если одна из переданных структур EXCEPINFO
        /// имеет поле scode, не равное S_OK. Все переданные в IErrorLog данные обрабатываются
        /// при возврате из данного метода. В момент вызова этого метода свойство AppDispatch не определено.
        /// </summary>
        /// <param name="connection">reference to IDispatch</param>
        public void Init([MarshalAs(UnmanagedType.IDispatch)] object connection)
        {
            Connect1C  = connection;
            StatusLine = (IStatusLine)connection;
            AsyncEvent = (IAsyncEvent)connection;
            ErrorLog   = (IErrorLog)connection;
        }
Exemplo n.º 2
0
 /// <summary>
 /// Инициализация компонента
 /// </summary>
 /// <param name="connection">reference to IDispatch</param>
 public void Init(
     [MarshalAs(UnmanagedType.IDispatch)]
     object connection)
 {
     asyncEvent = (IAsyncEvent)connection;
     statusLine = (IStatusLine)connection;
 }
Exemplo n.º 3
0
 public static void load(object AddInObject)
 {
     m_AddInObject = AddInObject;
     // Вызываем неявно QueryInterface
     m_ErrorInfo  = (IErrorLog)AddInObject;
     m_AsyncEvent = (IAsyncEvent)AddInObject;
     m_StatusLine = (IStatusLine)AddInObject;
 }
Exemplo n.º 4
0
 public Interactor()
 {
     like_dispatch        = V7Data.V7Object;
     like_asyncevent      = V7Data.AsyncEvent;
     like_errorlog        = V7Data.ErrorLog;
     like_statusline      = V7Data.StatusLine;
     like_extwndssupport  = V7Data.ExtWndsSupport;
     like_propertyprofile = V7Data.PropertyProfile;
 }
Exemplo n.º 5
0
 public Interactor()
 {
     like_dispatch = V7Data.V7Object;
     like_asyncevent = V7Data.AsyncEvent;
     like_errorlog = V7Data.ErrorLog;
     like_statusline = V7Data.StatusLine;
     like_extwndssupport = V7Data.ExtWndsSupport;
     like_propertyprofile = V7Data.PropertyProfile;
 }
Exemplo n.º 6
0
        //Инициализация компоненты
        void IInitDone.Init([MarshalAs(UnmanagedType.IDispatch)]
                            object connection)
        {
            asyncevent = (IAsyncEvent)connection;
            statusline = (IStatusLine)connection;

            if (InitEvent != null)
            {
                InitEvent();
            }
        }
Exemplo n.º 7
0
        //Инициализация компоненты
        void IInitDone.Init([MarshalAs(UnmanagedType.IDispatch)]
                            object connection)
        {
            MessageBox.Show("Ошибка", "Попытка деления на ноль", MessageBoxButtons.OKCancel, MessageBoxIcon.Error);

            asyncevent = (IAsyncEvent)connection;
            statusline = (IStatusLine)connection;

            if (InitEvent != null)
            {
                InitEvent();
            }
        }
Exemplo n.º 8
0
 protected override void Init(object connection)
 {
     _asyncEvent = (IAsyncEvent)connection;
     _statusLine = (IStatusLine)connection;
 }
Exemplo n.º 9
0
 public static int getStatusCode(this IStatusLine status)
 {
     return(status.StatusCode);
 }
Exemplo n.º 10
0
 public static void Clean()
 {
     m_AsyncEvent = null;
     m_ErrorInfo = null;
     m_ExtWndsSupport = null;
     m_PropertyProfile = null;
     m_StatusLine = null;
     m_V7Object = null;
 }